Необязательные именованные группы Python re

в URL-адресах Django мне нужна необязательная именованная группа. Это conf без аргументов вызвало исключение 404:

r'^list_cv/(?P<category>[d]+)?/$'

Как сделать необязательную именованную группу?

3 ответов


чтобы быть верным, работает так:

r'^list_cv/(?:(?P<category>[\w+])/)?$'

Я считаю, что более разборчиво создавать отдельный шаблон url для url без именованной группы.

url(r'^list_cv/$', my_view),
url(r'^list_cv/(?P<category>[\d]+)/$', my_view),

последняя косая черта должна быть частью необязательного RE, а RE должен быть как

r'^list_cv/(?:(?P<category>[\w+])?/)$'

Я не проверял его, Хотя.