【发布时间】:2012-10-03 14:19:09
【问题描述】:
我有一个指向 Django 模板中 url 的链接。我想获取当前页面 url 的所有 GET 参数并将它们添加到模板链接的 url 中。当前页面可能有零个 GET 参数。
【问题讨论】:
我有一个指向 Django 模板中 url 的链接。我想获取当前页面 url 的所有 GET 参数并将它们添加到模板链接的 url 中。当前页面可能有零个 GET 参数。
【问题讨论】:
在您的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 %}">
【讨论】:
您可以将request.META['QUERY_STRING'] 传递给模板。
您可以在渲染模板之前获取 get 参数并将它们传递给模板并在正确的链接上渲染它们。
您还可以从 request.GET 构建查询字符串
【讨论】:
当前请求的GET参数保存在HTTPRequest.Get中。
【讨论】: