【发布时间】:2021-01-25 12:48:24
【问题描述】:
现在我正在使用 Django 3.1 模板引擎,但我对它并不满意。
但是我看到jinja2模板引擎很强大吧。
以为 Django 说它支持 jinja2 模板引擎,我在关注 this Django 文档, 但我不能使用它。
# settings.py
TEMPLATES = [
{
'BACKEND': 'django.template.backends.jinja2.Jinja2',
'DIRS': [os.path.join(BASE_DIR, 'templates')],
'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',
],
},
},
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'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',
],
},
}
]
浏览器错误:
("Encountered unknown tag 'url'. Jinja was looking for the following tags: 'endfor' or 'else'. The innermost block that needs to be closed is 'for'.",)
那么,请告诉我该怎么做?
【问题讨论】:
-
您是如何配置
TEMPLATES设置的? -
您应该删除第一个。如果您使用
DIRS指定哪些目录属于哪个模板,则可以使用多个模板。但是这里两者是相同的,这意味着 Django 将始终选择第一个。 -
它给出了一个错误,即 Django 管理应用程序需要 Django 模板引擎。
-
你能发布确切的错误吗?究竟要渲染什么页面。对于某些内置的 Django 应用程序,您确实需要另一个模板。您可以在
DIRS设置中指定这些。