当我有看似正确的设置时出现无效的后端错误——为什么?
Invalid BACKEND error when I have the seemingly correct settings -- why?
运行 Ubuntu 14.04 上的 Django 开发服务器上的 Django 1.8。
我收到此错误:
Invalid BACKEND for a template engine: <not defined>. Check your TEMPLATES setting.
我的设置文件有:
TEMPLATES = [
{
'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',
],
},
},
]
当我做`python manage.py diffsettings 我得到:
...
TEMPLATES = [{'DIRS': [], 'APP_DIRS': True, 'BACKEND': 'django.template.backends.django.DjangoTemplates',
'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']}},
{'TEMPLATE_DEBUG': 'DEBUG'}]
和我去一个shell通过django.conf导入就可以用了。给出了什么?
更新:
可能值得注意的是我是 运行 python3.
哦,亲爱的。似乎是在末尾标记了一个额外的元素,即列表中的 {TEMPLATE_DEBUG: DEBUG}
元素。删除它,它现在已经过去了。
这实际上是老办法。 1.8的方法是把debug: True
作为字典里的关键字。
运行 Ubuntu 14.04 上的 Django 开发服务器上的 Django 1.8。 我收到此错误:
Invalid BACKEND for a template engine: <not defined>. Check your TEMPLATES setting.
我的设置文件有:
TEMPLATES = [
{
'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',
],
},
},
]
当我做`python manage.py diffsettings 我得到:
...
TEMPLATES = [{'DIRS': [], 'APP_DIRS': True, 'BACKEND': 'django.template.backends.django.DjangoTemplates',
'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']}},
{'TEMPLATE_DEBUG': 'DEBUG'}]
和我去一个shell通过django.conf导入就可以用了。给出了什么?
更新:
可能值得注意的是我是 运行 python3.
哦,亲爱的。似乎是在末尾标记了一个额外的元素,即列表中的 {TEMPLATE_DEBUG: DEBUG}
元素。删除它,它现在已经过去了。
这实际上是老办法。 1.8的方法是把debug: True
作为字典里的关键字。