Django如何在模板中获取GET参数

Django How to get GET parameters in template


我正在做一个 django 项目。
我想知道如何在模板中获取 GET 参数,以便激活相应的选项卡。
我尝试了下面的代码,但没有用。
<a class="list-group-item {% if '?q=' in request.path %}active{% endif %}" href="{% url 'blah'%}"> Foo </a>

提前致谢。

view中获取并在render

中作为参数发送
active = ('?q=' in request.path)

render(..., context={"active": active}) 

并在模板中使用它

class="list-group-item {% if active %}active{% endif %}"

或获取为

if '?q=' in request.path:
   extra_class = "active"
else:
   extra_class = ""

render(..., context={"extra_class": extra_class})

并在没有 if

的模板中设置
class="list-group-item {{ extra_class }}"

顺便说一句:

你也可以得到它作为

query = request.GET.get('q', '')

render(..., context={"query": query})

并在模板中使用它来设置 class 并显示查询

You search: {{ query }}

class="list-group-item {% if query %}active{% endif %}"