Создание URL-токена Regex Django необязательно - PullRequest
45 голосов
/ 24 февраля 2010

У вас есть URL, который принимает first_name и last_name в Django:

('^(?P<first_name>[a-zA-Z]+)/(?P<last_name>[a-zA-Z]+)/$','some_method'),

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

#A regex constant
OP_REGEX = r'THIS IS OPTIONAL<title>[a-z]'
#Ideal URL
('^(?P<first_name>[a-zA-Z]+)/(?P<last_name>[a-zA-Z]+)/OP_REGEX/$','some_method'),

Возможно ли это без создания новой строки, т.е.

('^(?P<first_name>[a-zA-Z]+)/(?P<last_name>[a-zA-Z]+)/(?P<title>[a-zA-Z]+)/$','some_method'),

1 Ответ

76 голосов
/ 24 февраля 2010
('^(?P<first_name>[a-zA-Z]+)/(?P<last_name>[a-zA-Z]+)(?:/(?P<title>[a-zA-Z]+))?/$','some_method'),

Не забудьте указать title значение по умолчанию в представлении.

...