如何在Django模板中获取请求参数?

问题描述 投票:0回答:2

说没有简单的标签只写一些http get,这样说对吗? 查询参数? 如果需要的只是打印 http get 查询参数,例如

?q=w
我可以直接将值 q 与模板标记一起使用还是需要副本 请求处理程序中的值? 是否可以更直接地从http get传递值(所有值) 到模板? 因为复制每个值似乎重复相同的处理许多 次

template_values = {'q':self.request.get('q'),...

应该可以迭代参数集。你能推荐一下吗 那个或任何其他解决方案?

python django django-templates get url-parameters
2个回答
105
投票

您根本不需要这样做。该请求在模板上下文中自动可用(只要您启用请求上下文处理器并使用RequestContext) - 或者您可以直接在上下文中传递请求对象。

并且

request.GET
是一个类似字典的对象,所以一旦你有请求,你可以直接在模板中获取GET值:

{{ request.GET.q }}

0
投票

例如,如果您访问以下网址:

https://example.com/?fruits=apple&meat=beef

然后就可以在Django Templates中获取参数了,如下图。 *我的回答解释了更多:

{# "index.html" #}

{{ request.GET.fruits }} {# apple #}
{{ request.GET.meat }} {# beef #}
{{ request.GET.dict }} {# {'fruits': 'apple', 'meat': 'beef'} #}
{{ request.META.QUERY_STRING }} {# fruits=apple&meat=beef #}
© www.soinside.com 2019 - 2024. All rights reserved.