TemplateDoesNotExist в / hello / vscode, следуя документации по руководству Django

#django #visual-studio-code #django-templates

#django #visual-studio-code #django-templates

Вопрос:

Следуя руководству по 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:Usersv770704Documentshello_djangoenvlibsite-packagesdjangotemplateloader.py in get_template, line 19
Python Executable:  C:Usersv770704Documentshello_djangoenvScriptspython.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 не найден, но этот путь и файл существуют.

Настройки.py имеет пустое значение 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:Usersv770704Documentshello_djangoenvlibsite-packagesdjangocontribadmintemplateshellohello_there.html (Source does not exist)
django.template.loaders.app_directories.Loader: C:Usersv770704Documentshello_djangoenvlibsite-packagesdjangocontribauthtemplateshellohello_there.html (Source does not exist)
  

Если я скопирую папку hello / templates / hello по пути, в котором она находится,

 C:Usersv770704Documentshello_djangoenvlibsite-packagesdjangocontribadmintemplates, 
  

веб-страница работает корректно, поэтому, похоже, это всего лишь проблема с конфигурацией пути.

Я попробовал это из другого сообщения, но получаю ту же ошибку:

 'DIRS': [os.path.join(BASE_DIR, "templates")], 
  

Даже ввод полного буквального пути к каталогу не работает.

Заранее спасибо за любую помощь.

Комментарии:

1. Вы добавили ‘hello’ в INSTALLED_APPS ?

2. Да, я добавил ‘hello’ в соответствии с руководством.

3.Это невозможно. Либо ‘hello’ не добавлен в INSTALLED_APPS , либо у вас нет каталога templates внутри вашего приложения hello. Я могу сказать это из того факта, что он просматривался только в каталогах auth и в admin шаблонах. Убедитесь, что у вас есть следующая структура: путь /к / проекту / управление.py и на том же уровне: путь/к/project/hello/templates/hello/<any_template>.html (ваше приложение hello), а также на том же уровне path/to/project/hello_django/settings.py (каталог проекта django)

4. Все файлы находятся в правильных местах, но вы помогли мне понять, что я добавил «hello» в settings.py в веб-проекте, а не в settings.py файл уровня проекта. Проблема решена.

5. @dirkgroten Извините, я не вижу флажка, чтобы нажать, чтобы принять ваш ответ, и я вошел в систему.