Essayer de comprendre répartiteur d'URL pour les URL sluggale comme stackoverflow

StackOverflow https://stackoverflow.com/questions/2932098

  •  05-10-2019
  •  | 
  •  

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

http://domain.com/post/14/

http://domain.com / post / 14 / tout-texte-it-doesnt-matter-ce-it-est

Était-ce utile?

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
scroll top