仅当'if'语句为真时,Django才会在模板中的'if'语句中执行块标记

时间:2014-09-21 02:37:42

标签: django django-templates

我想只在if语句为true时才执行块标记。这就是我的意思。这是我的模板:

{% extends "homePageBase.html" %}

{% if not blogPage %}
    {% block isBlogFalse %} notBlogPage {% endblock %}
{% else %}
    {% block isBlogTrue %} blogPage {% endblock %}
{% endif %}

但是两个块标签都被执行了。如果if / else语句为真,有没有办法让块标记只被执行?有没有解决这个问题或任何方式来完成这项任务?

1 个答案:

答案 0 :(得分:1)

问题的一个答案可以在https://stackoverflow.com/a/18638131/573392找到。要根据您的情况对其进行修改,它看起来像:

{% extends blogPage|yesno:"blogPage.html,notBlogPage.html" %}

此解决方案允许您加载依赖于blogPage变量的模板,从而有效地实现if语句的结果。