共计 1035 个字符,预计需要花费 3 分钟才能阅读完成。
背景
最近发现用 VSCode 启动一个 django 项目后访问首页会报 TemplateDoesNotExist 错误,表现如下:
但是用 Pycharm 启动的就不会报这个错,经过一番研究,原来是 setting.py 中的 TEMPLATES 设置没有和 BASE_DIR join 一下,不完善的会导致报错的配置如下:
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': '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',
'blog.context_processors.add_variable_to_context',
],
'string_if_invalid': 'InvalidVariable'
},
},
]
若要修复上述错误,需要按照如下配置:
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'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',
'blog.context_processors.add_variable_to_context',
],
'string_if_invalid': 'InvalidVariable'
},
},
]
正文完