我有一个应该像这样访问的网址
/people/raj/updates
/people/raj/updates?tag=food
但是 Django 反向 URL 解析器似乎没有任何规定可做tag=food
,即将其检测为额外参数并放入查询字符串中。
如何传递查询参数?
这取决于您是在 python 代码中还是在模板中构建 URL。
在Python代码中(例如视图):
from django.http import QueryDict
query_dictionary = QueryDict('', mutable=True)
query_dictionary.update(
{
'tag': 'food'
}
)
url = '{base_url}?{querystring}'.format(
base_url=reverse(my.url.name),
querystring=query_dictionary.urlencode()
)
在模板中:
<a href="{% url 'my.url.name' %}?tag=food">My Link</a>
您还可以将 QueryDict 对象从视图传递到模板,并在模板中构建 URL 时使用它:
<a href="{% url 'my.url.name' %}?{{ query_dictionary.urlencode }}">My Link</a>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)