我们最近从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起,这会产生以下网址:
https://127.0.0.1/issues/search/%3Fq=foobar
因此,包含查询参数的链接不再起作用。 如何使用Django 1.10?
答案 0 :(得分:1)
Django URL模式不包括查询字符串参数,这从1.10开始并不是新的,但一直都是这样。您不应将其包含在模式中,并在链接本身中单独添加。
url(r'^search/$', views.search, name='search'),
...
<a href="{% url 'issues:search' %}?q=foobar">