Я только что создал запись шаблона URL для маршрутизации вещей в мое представление регистрации, но параметр не передается вообще, хотя он явно указан в URL.
Мой шаблон URL:
url(r'^register/(?P<profile_type>\w+/?$)', 'userProfile.views.register'),
Определение моего вида:
def register(request, profile_type=None):
URL-адрес, который я пытаюсь загрузить (не реальный, а пример):
http://example.com/register/user
Когда я устанавливаю точку останова pdb прямо в начале представления, profile_type имеет значение None, но URL-адрес равен http://example.com/register/user
Я попытался запустить re.match, чтобы проверить, было ли регулярное выражение неправильным, и я получил следующее:
match = re.match(r'^register/(?P<profile_type>\w+/?$)', 'register/user')
match
<_sre.SRE_Match object at 0x1004d48a0>
match.groupdict()
{'profile_type': 'user'}
Очевидно, что регулярное выражение совпадает с частью 'user' URL, но оно не передается. Я хотел бы помочь с этим.
urls.py содержит другие похожие шаблоны, и эти шаблоны работают правильно:
url(r'^user/(?P<profile_id>\d+/?$)', 'userProfile.views.registeredUser'),
Представление находится в нужном месте и вызывается правильно, но параметр не передается.
На самом деле, у меня есть предыдущий шаблон в файле, который выглядит так:
url(r'^register', 'userProfile.views.register'),
Я думаю, что это вызывается до второго паттерна и все портит ...