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 提供了一个清楚的示例,说明要在您的设置文件中更新什么。
我正在努力寻找一种快速简便的解决方案来根据条件显示 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 提供了一个清楚的示例,说明要在您的设置文件中更新什么。