Как изменить каталоги по умолчанию в проекте

Итак, я разрабатываю это приложение на python, и когда я пытаюсь показать некоторые html в браузере, я получаю эту ошибку:

TemplateDoesNotExist at /xPharma/hello/

 hello.html

 Request Method:    GET
 Request URL:   http://127.0.0.1:8000/xPharma/hello/
 Django Version:    4.2.11
 Exception Type:    TemplateDoesNotExist
 Exception Value:   

 hello.html

 Exception Location:    C:\Users\Marco\.virtualenvs\XpharmBackend-9gJJ8jLG\lib\site-packages\django\template\loader.py, line 19, in get_template
 Raised during:     xPharma.views.say_hello
 Python Executable:     C: \Users\Marco\.virtualenvs\XpharmBackend-9gJJ8jLG\Scripts\python.exe
 Python Version:    3.9.7
 Python Path:   

 ['C:\\Users\\Marco\\Desktop\\Desktop\\progetto X pharme\\XpharmBackend',
  'C:\\Python39\\python39.zip',
  'C:\\Python39\\DLLs',
  'C:\\Python39\\lib',
  'C:\\Python39',
  'C:\\Users\\Marco\\.virtualenvs\\XpharmBackend-9gJJ8jLG',
  'C:\\Users\\Marco\\.virtualenvs\\XpharmBackend-9gJJ8jLG\\lib\\site-packages']

   Server time:     Mon, 01 Apr 2024 15:44:22 +0000

но я обнаружил, что получаю эту ошибку, потому что python ищет файл в неправильной директории...

Using engine django:

django.template.loaders.app_directories.Loader: C:\Users\Marco\.virtualenvs\XpharmBackend-9gJJ8jLG\lib\site-packages\django\contrib\admin\templates\hello.html (Source does not exist)
django.template.loaders.app_directories.Loader: C:\Users\Marco\.virtualenvs\XpharmBackend-9gJJ8jLG\lib\site-packages\django\contrib\auth\templates\hello.html (Source does not exist)

Есть ли способ изменить эти каталоги и перенаправить python туда, где я сохранил свой файл?

EDIT: Как и просили, вот мой views.py (xPharma.views.say_hello):

from django.shortcuts import render
from django.http import HttpResponse

def say_hello(request):
    return render(request,'hello.html')

Проблема :-

Ваш шаблон расположен не там, где нужно.

Ответ:

1) Создайте папку с именем templates в hello app, затем переместите hello.html в эту папку. Сохраните путь к шаблону в файле views.py как есть.

Если выше не сработало, сделайте ниже.

2) Переместите hello.html в /xPharma/hello/ и посмотрите, работает ли это. Если работает, значит, вы неправильно настроили settings.py. Тогда лучше выложить settings.py в вопросе.

Вот как работает django.

Он ищет шаблоны в ваших app_name/templates папках.


Как изменить каталоги по умолчанию в проекте?

Это можно сделать в файле settings.py. Там есть настройка под названием templates.

За дополнительной информацией обращайтесь к ссылкам ниже.

Ссылка 1

django doc

Вернуться на верх