2011-11-25 19 views
6

En las direcciones URL de Django necesito un grupo con nombre opcional. Esta conf sin argumentos generó una excepción 404:Grupos con nombre opcional Python re

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

¿Cómo hacer un grupo con nombre opcional?

+1

posible duplicado de [Hacer una expresión regular Django URL de emergencia Opcional] (http://stackoverflow.com/questions/2325433/making-a- regex-django-url-token-optional) – Bartek

Respuesta

6

Para ser fiel, funciona así:

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

¡Gracias, Mohammad Tayseer! – I159

2

La última barra debe ser parte de la RE opcional, y el RE debe ser como

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

no he probado, sin embargo.

+2

Esto realmente no funcionaba, pero la tercera respuesta estaba funcionando http://stackoverflow.com/a/8271065/548558 con este r '^ list_cv/(? :(? P [\ w +]) /)? $ ' – Azd325

3

Encuentro que es más legible crear un patrón de URL separado para la url sin el grupo nombrado.

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