django - 遇到未知标签 'with'

标签 django python-2.7 django-templates jinja2

尝试在 django 1.8 中使用 jinja2 模板时遇到以下错误“遇到未知标记‘with’”。

相同的模板在我的 Flask 应用程序上运行良好,但是当尝试使用 jinja 2 的 with 功能时,我收到了该错误。

jinja 模板内部

{% with %}
    {% set vartest = 42 %}
    {{ vartest }}
{% endwith %}

在我的 jinja2 环境定制中

def environment(**options):
    env = Environment(**options)
    env.globals.update({
        'static': staticfiles_storage.url,
        'url_for': reverse,
        'STATIC_URL': STATIC_URL
    })
    return env

最佳答案

with statement Jinja 2.3 版本中新增内容;如果您有较早的版本,请使用 pip install --upgrade Jinja2 获取最新版本。

这也是an extension ,因此您必须将其包含在Environment中,例如通过添加:

options.setdefault('extensions', []).append('jinja2.ext.with_')

关于django - 遇到未知标签 'with',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31569521/

相关文章:

Django 自动化同步数据库

javascript - 仅在模板生成的 html 列表中单击的项目的 Jquery 切换(可见/不可见)

javascript - Django:从静态文件目录中的js引用静态文件

python - 用于 django 中迁移的自动数据库路由器

python - 使用 BeautifulSoup 添加元标记

python - IF-ELIF 语句嵌套

Python - 从其他内部类引用内部类

ajax - 如何在 Django 的 ajax POST 返回新的 csrf token ?

python - 在参数中使用带有 unicode 字符的 {% url %} 反向 (Django)

django 表单设置字段顺序