Найти - Пользователи
Полная версия: Неуникальные шаблоны в папках приложений.
Начало » Django » Неуникальные шаблоны в папках приложений.
1
jingvar
Есть проект, в нем приложение1. Нужно сделать приложение2 на базе приложения1.
Приложение1 использует шаблоны, причем естественно в коде полные пути до шаблона я не пишу. Т.е. пишу index.html, а не /приложение1/index.html

Т.к. приложение2 является дубликатом приложения1, а именно копией папочки приложения1 и копией шаблонов, то во views.py будут вызваться шаблоны приложения1, а не приложения2.

Куда и как класть шаблоны чтобы для приложения вызывался именно его шаблон даже если он совпадает по имени с другим шаблоном из другого приложения, которое перечислено раньше в templates_dirs или instaled_apps.

Я так думаю, templates_dirs должен быть пустой, лоадер только ‘django.template.loaders.app_directories.Loader’, шаблоны хранить в имя_приложения/templates. И где-то указать загрузчику использовать только путь для поиска только от вызвавшего приложения, а не перебор всей мусорки по порядку по что-то не найдется.

p.s.
Вообще не понимаю как можно такой лодырь было придумать, ищем пока не повезет…
appetito
jingvar
Я так думаю, templates_dirs должен быть пустой, лоадер только ‘django.template.loaders.app_directories.Loader’, шаблоны хранить в имя_приложения/templates.
достаточно app_directories.Loader поставить перед filesystem.Loader. Тогда сперва буде искать в “имя_приложения/templates” а потом, если не найдет - в templates_dirs
jingvar
appetito
jingvar
Я так думаю, templates_dirs должен быть пустой, лоадер только ‘django.template.loaders.app_directories.Loader’, шаблоны хранить в имя_приложения/templates.
достаточно app_directories.Loader поставить перед filesystem.Loader. Тогда сперва буде искать в “имя_приложения/templates” а потом, если не найдет - в templates_dirs
app_directories.Loader будет искать по порядку перечисленному в installed apps.
Т.к. шаблоны неуникальные то имея одинаковые шаблоны будет вызываться всегда первый найденный, т.е. приложение2 будет подхватывать шаблон из приложения1.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB