Django учебник предлагает организовать шаблоны, как это:Элегантный способ шаблонов пространства имен в Django
в каталоге шаблонов вы только что создали, создайте другой каталог под названием опросы, и в том, что создать файл с именем index.html , Другими словами, ваш шаблон должен быть в опросах/шаблонах/опросах/index.html. Из-за того, как работает загрузчик шаблонов app_directories, как описано выше, вы можете ссылаться на этот шаблон в Django просто как polls/index.html.
Учебник также говорит, что произойдет, если я просто положить index.html в опросах/шаблоны:
Теперь мы могли бы быть в состоянии уйти с проставлением наших шаблонов непосредственно в опросах/шаблонов (вместо создания другой подкаталог опросов), но на самом деле это будет плохая идея. Django выберет первый найденный шаблон, имя которого совпадает, и если у вас есть шаблон с тем же именем в другом приложении, Django не сможет отличить их. Мы должны уметь указать Django на правильную, и самый простой способ обеспечить это путем их размещения. То есть, помещая эти шаблоны в другой каталог, названный для самого приложения.
Мое предположение заключалось в том, что до тех пор, пока я создаю изолированное приложение, его шаблоны также изолированы от других приложений без магии вложенных папок.
Есть ли другой путь к пространству имен, поэтому я могу ссылаться на шаблон как index.html без создания дублированных папок?
Я вижу это. Тем не менее, меня все еще немного беспокоит тот факт, что мне нужно создать еще одну папку в опросах/шаблонах для Django, чтобы не путать опросы index.html с другим index.html приложения. Мое предположение заключалось в том, что пока я создаю изолированное приложение, его шаблоны также изолированы от других приложений без магии вложенных папок. –
Причина, по которой это делается, заключается в том, что приложения ниже в настройках INSTALLED_APPS могут переопределять предыдущие шаблоны. Например, вы можете создать шаблон в admin/poll/poll_changelist.html, чтобы переопределить интерфейс администратора для вашей модели. Во всяком случае, я обновил свой ответ, чтобы включить возможность использования пространств имен url. – seddonym
Хорошо, я обновил вопрос, спасибо, спасибо. –