Django: base.html "TemplateDoesNotExist at / error" и структура проекта

Когда в моем файле home.html (или любом другом .html) я пытаюсь расширить мой файл base.html этим

{% extends "static/src/base.html" %}

Я получаю эту ошибку:

TemplateDoesNotExist at / error  

Также, я собираюсь начать свой первый "серьезный" проект, и поэтому я пытаюсь делать вещи немного менее по-любительски, начиная со структуры проекта. Это то, к чему я пришел на данный момент, следуя подсказкам, которые я получил с другого сайта, но я хотел бы услышать мнение людей с большим опытом, чем у меня, если это хороший способ начать проект. В частности, я немного запутался в том, куда поместить файл base.html. Можно ли поместить его в папку src или его следует поместить вместе со страницами navbar.html/footer.html/etc или navbar.html/footer.html/etc следует поместить в папку src?

Вот структура моего проекта:


website_name
- core (where is the settings.py and where I put homepage, news page, contact and about us page...) 

- app name_1 (like members)

- app name_2 

- media
--  img
--  upload (user ulploaded excel file)
---   excel_file.csv 
--   download (for user to download file)

- static
--  src
---  base.html
---  style.css
--  dist
---  style.css
--  node_modules
--  [...]

- template
--  core
---   home.html
---   news_list.html
---   news_delete.html
---   [...]
--  app name_1
--  app name_2
--  navbar.html
--  footbar.html
--  [...]

Спасибо за помощь!

нормальной структурой является размещение шаблонов в папке app:

- core
-- templates
--- core
---- my_base_template.html

- app_name1
-- templates
--- app_name1
---- my_base_template.html

- app_name2
-- templates
--- app_name2
---- my_template1.html
        {% extends "app_name1/my_base_template.html" %}
         ....

---- my_template2.html
        {% extends "core/my_base_template.html" %}


При правильной настройке параметров шаблонизатор будет автоматически искать файлы шаблонов в папках app/templates/.

Пожалуйста, проверьте settings.py на TEMPLATES -> APP_DIRS=True из Django docs https://docs.djangoproject.com/en/4.0/topics/templates/ :

TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': [],
        'APP_DIRS': True,
        'OPTIONS': {
            # ... some options here ...
        },
    },
]

логически шаблоны не являются статическими, а отображаются во время выполнения, поэтому они не имеют смысла в структуре статических папок.

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