2010-01-28 4 views
1

Un projet sur lequel je travaille actuellement dispose d'une sorte de fonctionnalité proxy permettant aux utilisateurs de naviguer vers une autre URL via le site. J'espérais l'URL pourrait être quelque chose comme ceci:Comment passer une url comme paramètre à un gestionnaire dans Django?

www.mydomain.com/browser/[URL ici]

Cependant, je ne parviens pas à capturer une URL comme paramètre comme celui-ci. Je pense que mon manque d'expérience avec regex me manque ici :(Mon URL ressemble à ceci conf:

urlpatterns += patterns('', 
    url(r'^browser/(?P<url>\w+)/$', browser_proxy, name='browser_proxy'), 
) 

Je pense la \w+ ne suffit pas pour saisir une URL arbitraire Quelqu'un sait ce que je devrais utiliser ici. pour capturer une URL comme paramètre comme ça?

Merci pour toute aide.

Répondre

4

\w signifie un caractère « mot », soit alphanumérique et soulignement. Il est équivalent à l'ensemble [a-zA-Z0-9_]. Vous pouvez faire correspondre tout caractère avec une période. :

urlpatterns += patterns('', 
    url(r'^browser/(?P.+)/$', browser_proxy, name='browser_proxy'), 
) 
+0

Merci beaucoup, fonctionne parfaitement! Désolé, je ne vous ai pas remercié plus tôt, pour une raison ou une autre, la boîte de commentaire ne s'affichait pas pour moi jusqu'à maintenant :) –

Questions connexes