2010-08-24 15 views
2

J'utilise des pylônes, et je veux utiliser des css intelligents.Comment faire correspondre toute requête .sass à un contrôleur particulier dans pylônes?

J'ai créé un contrôleur SassController pour gérer .sass demandes, mais dans le config/routing.py, je ne sais pas comment écrire le mappage.

Ce que je veux:

  1. demande du client: http://localhost:5000/stylesheets/questions/index.sass
  2. toutes ces demandes seront traitées par SassController#index

J'ai essayé:

map.connect('/{path:.*}.sass', controller='sass', action='index') 

Mais trouvé seulement: http://localhost:5000/xxx.sass sera géré, mais http://localhost:5000/xxx/yyy.sass ne le fera pas.

Que dois-je faire maintenant?

Répondre

0

Le code de routage utilisant des expressions régulières de sorte que vous pouvez le faire manger tout dans l'url indépendamment de barres obliques.

Les docs sont here

Ça va ressembler à quelque chose comme:

map.connect(R'/{path:.*?}.sass', controller='SassController', action='index') 

#in the SassController 
def index(self, path): 
    return path 

http://localhost:5000/blah/blah/something.sass appellera SassController.index avec path = blah/blah/something

+0

Avez-vous essayé? Je me souviens (mais pas sûr) que j'ai fait la même chose, mais si les fichiers sass dans le répertoire "public/stylesheets", et vous demandez "/stylesheets/xxx.sass", cette route ne sera pas utilisée, je reçois toujours la teneur en sass cru. Je dois déplacer les fichiers sass dans un autre répertoire et cela fonctionne. – Freewind

+0

Oui, j'ai essayé ceci en utilisant l'exemple que j'ai posté. Je l'ai essayé avec Pylons 1.0. – Ben