无效的块标记:'设置'

时间:2015-08-04 02:27:03

标签: python django jinja2

我正在尝试在Jinja模板中设置变量。就这么简单。但我得到错误说:Invalid block tag: 'set', expected 'endblock'

这是我的模板:

{% block content %}
    <div class="col-lg-7 col-lg-offset-2">
        <div style="padding-top:100px"></div>
        <div class="panel panel-primary">
            <div class="panel-heading">
                <h3 class="panel-title">
                    <i class="mdi-social-person"></i>
                    Reports
                </h3>
            </div>
            <div class="panel-body">
                    {% set index = 'a' %}
            </div>
        </div>
    </div>
{% endblock content %}

我认为设定应该是直截了当而不是困难。

3 个答案:

答案 0 :(得分:4)

set是jinja的标签,但jinja不是Django的默认模板引擎,因为@Jharris和@Gocht在评论中提到。所以,我需要先安装jinja才能使用set标记。

答案 1 :(得分:0)

使用Django template system(默认的模板引擎),可以使用with

{% with index='a' %}
{% endwith %}

请注意,您需要使用结束标记,该标记将为您提供变量的范围。 (还请注意,变量名,=符号和值之间不能有空格。因为为什么与python相关的任何事情都是灵活的。:-/)

您可以了解有关引擎here和有效标签here的更多信息。

答案 2 :(得分:-3)

您应该使用{% endblock %}代替{% endblock content %}