遵循https://code.visualstudio.com/docs/python/tutorial-django上的Django教程,但在/ hello / vscode中出现了TemplateDoesNotExist错误。
错误是
hello/hello_there.html
Request Method: GET
Request URL: http://127.0.0.1:8000/hello/vscode
Django Version: 2.2
Exception Type: TemplateDoesNotExist
Exception Value:
hello/hello_there.html
Exception Location: C:\Users\v770704\Documents\hello_django\env\lib\site-packages\django\template\loader.py in get_template, line 19
Python Executable: C:\Users\v770704\Documents\hello_django\env\Scripts\python.exe
Python Version: 3.7.3
Python Path:
['C:\\Users\\v770704\\Documents\\hello_django',
'c:\\Users\\v770704\\.vscode\\extensions\\ms-python.python-2019.3.6215\\pythonFiles',
'C:\\Users\\v770704\\AppData\\Local\\Programs\\Python\\Python37-32\\python37.zip',
'C:\\Users\\v770704\\AppData\\Local\\Programs\\Python\\Python37-32\\DLLs',
'C:\\Users\\v770704\\AppData\\Local\\Programs\\Python\\Python37-32\\lib',
'C:\\Users\\v770704\\AppData\\Local\\Programs\\Python\\Python37-32',
'C:\\Users\\v770704\\Documents\\hello_django\\env',
'C:\\Users\\v770704\\Documents\\hello_django\\env\\lib\\site-packages']
这是一个路径问题,因为找不到hello / templates / hello / hello_there.html的路径,但是该路径和文件确实存在。
Settings.py的DIRS值为空,这是我在本教程中被告知要用于DIRS的值。
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',
],
},
},
]
Template-loader验尸说:
Django tried loading these templates, in this order:
Using engine django:
django.template.loaders.app_directories.Loader: C:\Users\v770704\Documents\hello_django\env\lib\site-packages\django\contrib\admin\templates\hello\hello_there.html (Source does not exist)
django.template.loaders.app_directories.Loader: C:\Users\v770704\Documents\hello_django\env\lib\site-packages\django\contrib\auth\templates\hello\hello_there.html (Source does not exist)
如果我将hello / templates / hello文件夹复制到它正在查找的路径,
C:\Users\v770704\Documents\hello_django\env\lib\site-packages\django\contrib\admin\templates,
该网页正常工作,因此它似乎只是一个路径配置问题。
我从另一篇文章中尝试过此方法,但收到相同的错误:
'DIRS': [os.path.join(BASE_DIR, "templates")],
即使输入目录的完整文字路径也不起作用。
在此先感谢您的帮助。