После учебника по Django на https://code.visualstudio.com/docs/python/tutorial-django, но получил ошибку TemplateDoesNotExist в /hello/vscode.
Ошибка
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',
],
},
},
]
В посмертном шаблоне-загрузчике написано:
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")],
Даже полный буквальный путь к каталогу не работает.
Заранее спасибо за любую помощь.