Django/Wagtail - 如何在模板中创建条件检查 url 路径?

Django/Wagtail - How to create a conditional in template that checks for url path?

我正在努力寻找一种快速简便的解决方案来根据条件显示 HTML 内容,该条件检查 wagtail 页面是否位于根目录,又名 '/'.

根据 Wagtail 文档,我还可以使用来自 Django 的原始请求对象来完成这项工作:

Additionally request. is available and contains Django’s request object.

这基本上就是我想做的。我在这里使用来自 wagtail 的页面对象,但如果我改用来自 Django 的请求对象可能会更好。我怎么能


{% if page.request.path == '/' %}

  <div> show something </div>

{% else %}

   #show nothing

{% endif %}

我如何构造一个条件来解决我想做的事情?

访问request

可以通过 request 而不是 page.request 访问请求对象。

一个有用的提示是添加 {% debug %} 以在本地工作和调试时查看当前模板可用的所有上下文。

{% if request.path == '/' %}

  <div> show something </div>

{% else %}

   #show nothing

{% endif %}

更多信息

在 Wagtail 中,request 对象应该可用于所有模板,但是您可能需要按照 Django 文档中关于 Using RequestContext 的说明启用它。

或者,此 Django request in template answer 提供了一个清楚的示例,说明要在您的设置文件中更新什么。