使用与Django模板中当前页面相同的GET参数生成URL

时间:2012-10-12 17:58:40

标签: python django

我在Django模板中有一个url链接。我想获取当前页面url的所有GET参数,并将它们添加到模板链接的url中。当前页面可能没有GET参数。

3 个答案:

答案 0 :(得分:13)

settings.py中加入django.core.context_processors.request上下文处理器,然后在模板的链接中使用request对象:

<a href="{% url 'my_url' %}?{{ request.META.QUERY_STRING }}">

这将导致来自没有任何GET变量的页面的链接具有尾随?,但这是无害的。如果这是不可接受的,你可以先测试它们:

<a href="{% url 'my_url' %}{% if request.META.QUERY_STRING %}?{{ request.META.QUERY_STRING }}{% endif %}">

答案 1 :(得分:3)

您可以将request.META['QUERY_STRING']传递给模板。

您可以在渲染模板之前获取get参数,并将它们传递给模板并在正确的链接上渲染它们。

您还可以从request.GET

构建查询字符串

答案 2 :(得分:1)

当前请求的GET参数存储在HTTPRequest.Get