Essayer de comprendre répartiteur d'URL pour les URL sluggale comme stackoverflow
Question
J'utilise le cadre Tornado (Python). Je les URL Sluggable de travail. Mais j'ai 3 entrées différentes dans le répartiteur d'URL. Je me demandais si quelqu'un pouvait me aider à le transformer en une ligne.
Voici ce que j'ai:
(r"/post/([0-9]+)/[a-zA-Z0-9\-]+", SpotHandler),
(r"/post/([0-9]+)/", SpotHandler),
(r"/post/([0-9]+)", SpotHandler),
Je veux donc que les URL suivantes vont tous au même endroit.
http://domain.com / post / 14 / tout-texte-it-doesnt-matter-ce-it-est
La solution
(r "/ post / ([0-9] +) /? [A-zA-Z _] *", SpotHandler),
"?" des moyens chose précédente peut être là, mais n'a pas besoin d'être. "*" Signifie zéro ou plus
Autres conseils
r"/post/([0-9]+)(?:/[a-zA-Z_-]+|/)?"
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow