正则表达式url Django

时间:2014-05-20 13:44:44

标签: python regex django django-urls

我想在django中使用以下格式的一个或两个网址。

e.g。 /view/q/node/c/programming....

此处qc等是特定的获取参数,后者我将通过js或视图访问它们。

我尝试了以下模式,但它没有成功。

r'view/(P<q>\w+)/(P<c>\w+)/(P<l>\w+)/(P<o>\w+)/$'

我知道如果我们在url中有?,则可以在视图中访问所有获取参数。但我不希望在网址中有?

有谁能建议如何实现这一目标?请注意,网址也可以没有任何参数。例如view/

感谢。

1 个答案:

答案 0 :(得分:1)

您错过了Named groups中的?。来自Django文档:

  

在Python正则表达式中,命名正则表达式组的语法是

     

(?P<name>pattern),其中name是组的名称,pattern是要匹配的模式。

因此,参考你的例子,它应该是:

r'^view/(?P<q>\w+)/(?P<c>\w+)/(?P<l>\w+)/(?P<o>\w+)/$'