Как передать URL в качестве параметра обработчику в Django? - PullRequest
1 голос
/ 28 января 2010

Проект, над которым я сейчас работаю, имеет своего рода функцию прокси, где пользователи могут переходить по другому URL через сайт. Я надеялся, что URL может выглядеть примерно так:

www.mydomain.com / browser / [URL здесь]

Однако у меня проблемы с получением URL-адреса в качестве параметра, подобного этому. Я думаю, что моя неопытность в регулярных выражениях подводит меня здесь :( Мой URL-адрес выглядит так:

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

Я думаю, что \w+ недостаточно для захвата произвольного URL. Кто-нибудь знает, что я должен использовать здесь, чтобы захватить URL в качестве параметра, подобного этому?

Спасибо за любую помощь.

1 Ответ

4 голосов
/ 28 января 2010

\w означает символ «слово», то есть буквенно-цифровой и символ подчеркивания. Это эквивалентно набору [a-zA-Z0-9_]. Вы можете сопоставить любой символ с точкой. I.e.:

urlpatterns += patterns('',
   url(r'^browser/(?P.+)/$', browser_proxy, name='browser_proxy'),
)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...