无效的块标记:'set'

Invalid block tag: 'set'

我正在尝试在 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 %}

我觉得设置应该很简单,没那么难。

您应该使用 {% endblock %} 而不是 {% endblock content %}

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

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

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

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

您可以阅读有关该引擎的更多信息 here and about the valid tags here