当我有看似正确的设置时,无效的BACKEND错误 - 为什么?

时间:2015-09-23 23:10:25

标签: python django django-settings

在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。

1 个答案:

答案 0 :(得分:0)

亲爱的,亲爱的。事实似乎是在末尾标记了一个额外的元素,列表中的{TEMPLATE_DEBUG: DEBUG}元素。删除了它,现在它已经过了那一点。

这实际上是做旧的方式。 1.8方法是将debug: True作为词典中的关键词。