Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用django reverse传递查询参数?_Django - Fatal编程技术网

使用django reverse传递查询参数?

使用django reverse传递查询参数?,django,Django,我有一个url,可以像这样访问 /people/raj/updates /people/raj/updates?tag=food 但是Django reverse URL解析器似乎没有做任何准备,即将其作为额外参数检测并放入查询字符串中 如何传递查询参数 这取决于您是在python代码中还是在模板中构建URL 在python代码中(例如视图): 在模板中: <a href="{% url 'my.url.name' %}?tag=food">My Link</a> &

我有一个url,可以像这样访问

/people/raj/updates
/people/raj/updates?tag=food
但是Django reverse URL解析器似乎没有做任何准备,即将其作为额外参数检测并放入查询字符串中


如何传递查询参数

这取决于您是在python代码中还是在模板中构建URL

在python代码中(例如视图):

在模板中:

<a href="{% url 'my.url.name' %}?tag=food">My Link</a>
<a href="{% url 'my.url.name' %}?{{ query_dictionary.urlencode }}">My Link</a>

您还可以将QueryDict对象从视图传递到模板,并在模板中构建URL时使用该对象:

<a href="{% url 'my.url.name' %}?tag=food">My Link</a>
<a href="{% url 'my.url.name' %}?{{ query_dictionary.urlencode }}">My Link</a>

Django的反面不包括GET或POST参数。它们不是url的一部分

当然,您始终可以通过在模板中附加参数来创建url,如下所示:

{% url 'named_url' %}?tag=food
不管怎样,它都会通过这种方式连接。另一种方法是构建包含可能的标记的url正则表达式,如:

url(r'^/people/raj/updates/(?P<tag>[a-zA-Z0-9]+/)?', yourview())
url(r'^/people/raj/updates/(?P[a-zA-Z0-9]+/)?,yourview())

这样,您可以在视图中检查kwarg标记。

我不确定是否理解您的问题。。。但这没用?(查看args=(年份,)参数)