我们最近从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">