不能在页面上使用Jinja元素

时间:2017-06-17 17:58:45

标签: django django-templates jinja2

我正在研究Django和Jinja模板的新手。我能够从上下文打印变量但不能使用Jinja的其他功能。

当我在页面上执行{{1 + 1}}时。它显示:

  

无法解析余数:'+1'来自'1 + 1'

我正在尝试生成随机编号。通过{{range(1,51)|随机}},由this回答。但它会抛出错误:

  

无法解析某些字符:range |(1,51)| |随机

在settings.py中:

TEMPLATES = [
{
    'BACKEND': 'django.template.backends.jinja2.Jinja2',
    'DIRS': [],
    'APP_DIRS': True,
    'OPTIONS': {
        'context_processors': [
            'django.template.context_processors.debug',
            'django.template.context_processors.request',
            'django.contrib.auth.context_processors.auth',
            'django.contrib.messages.context_processors.messages',
        ],
    },
},
]

2 个答案:

答案 0 :(得分:0)

问题是你没有在Django项目中激活Jinja2模板。请正确设置模板引擎。

TEMPLATES = [
    {
         'BACKEND': 'django.template.backends.jinja2.Jinja2',
         ...

答案 1 :(得分:0)

TEMPLATES = [{
    'BACKEND': 'django.template.backends.jinja2.Jinja2',
    'BACKEND': 'django.template.backends.django.DjangoTemplates', # remove this line
    'DIRS': [],
    'APP_DIRS': True,
    'OPTIONS': {
        'context_processors': [
            'django.template.context_processors.debug',
            'django.template.context_processors.request',
            'django.contrib.auth.context_processors.auth',
            'django.contrib.messages.context_processors.messages',
        ],
    },
}]

在第3行中,您使用Django Template Engine覆盖键BACKEND