按模板输出请求参数

Nik*_*ntz 42 django google-app-engine

说没有简单的标签只写一些http get查询参数是否正确?如果只需要打印一个http get查询参数,例如?q=w 我可以直接将q值与模板标签一起使用,还是需要复制请求处理程序中的值?是否有可能更直接地将值(所有值)从http get传递给模板?因为复制每个值似乎重复多次相同的处理

template_values = {'q':self.request.get('q'),...
Run Code Online (Sandbox Code Playgroud)

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

Dan*_*man 78

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

并且request.GET是类似字典的对象,因此一旦有了请求,您就可以直接在模板中获取GET值:

{{ request.GET.q }}
Run Code Online (Sandbox Code Playgroud)

  • 对于更高的Django版本(也许> 2.0),这似乎是“ {{request.GET.urlencode}}”。 (2认同)