可选的命名组Python re

时间:2011-11-25 14:24:43

标签: python regex django

在Django网址中,我需要一个可选的命名组。这个没有参数的conf引发了404异常:

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

如何制作可选的命名组?

3 个答案:

答案 0 :(得分:6)

要忠诚,就像这样:

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

答案 1 :(得分:3)

我发现在没有命名组的情况下为url创建单独的url模式更为清晰。

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

答案 2 :(得分:2)

最后一个斜杠应该是可选RE的一部分,而RE应该是

r'^list_cv/(?:(?P<category>[\w+])?/)$'
但是,我没有测试它。