背景
最近发现用VSCode启动一个django项目后访问首页会报TemplateDoesNotExist错误,表现如下:
但是用Pycharm启动的就不会报这个错,经过一番研究,原来是setting.py中的TEMPLATES设置没有和BASE_DIR join一下,不完善的会导致报错的配置如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
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' }, }, ] |
若要修复上述错误,需要按照如下配置:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
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' }, }, ] |