Django 'url' 模板标签错误地转义了问号



我们最近从django 1.9升级到1.10,现在出现以下问题:

urls.py:

url(r'^search/(?:?q=(?P<q>[^&]*))?$', views.search, {'q': ''}, name='search'),

模板:

<a href="{% url 'issues:search' "foobar" %}">Issues</a> 

在Django 1.9的情况下,结果为

https://127.0.0.1/issues/search/?q=foobar

自Django 1.10以来,这将导致以下URL:

https://127.0.0.1/issues/search/%3Fq=foobar

结果,包含查询参数的链接不再起作用。如何与Django 1.10合作?

django url模式不包含Querystring参数,这不是新的,因为1.10,但一直都是这样。您不应将其包含在模式中,并在链接本身中分别添加。

url(r'^search/$', views.search, name='search'),

...

<a href="{% url 'issues:search' %}?q=foobar">

最新更新