Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Making a Regex Django URL Token Optional

You have a URL which accepts a first_name and last_name in Django:

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

How would you include the OPTIONAL URL token of title, without creating any new lines. What I mean by this is, in an ideal scenario:

#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'), 

Is this possible without creating a new line i.e.

('^(?P<first_name>[a-zA-Z]+)/(?P<last_name>[a-zA-Z]+)/(?P<title>[a-zA-Z]+)/$','some_method'), 
like image 971
Federer Avatar asked Feb 24 '10 11:02

Federer


1 Answers

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

Don't forget to give title a default value in the view.

like image 143
Ignacio Vazquez-Abrams Avatar answered Oct 07 '22 03:10

Ignacio Vazquez-Abrams