jinja2 - 如何在if语句中放置一个块?

6 浏览
0 Comments

jinja2 - 如何在if语句中放置一个块?

我试图使用一个if语句来确定哪个块应该填充我的{% block content %}

我有一个base.html,它有一个默认的{% block content %},这个模板继承了base.html。所以我尝试了下面的代码:

{% extends "base.html" %}
{% if condition == True %}
    {% block content %}
    blah blah blah blah
    {% endblock content %}
{% endif %}

我期望如果条件为真,我可以看到blah blah blah blah,如果条件为假,我可以看到默认的块。

但是两次我都得到了blah blah blah blah

然后我尝试了下面的代码:

{% extends "base.html" %}
{% if condition == True %}
    {% block content %}
    blah blah blah blah
    {% endblock content %}
{% else %}
    {% block content %}
    默认内容
    {% endblock content %}
{% endif %}

但是我得到了这个错误:

TemplateAssertionError: block 'content' defined twice

我该如何在if语句中使用一个块?

0