Форум сайта python.su
Есть проект, в нем приложение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.
Вообще не понимаю как можно такой лодырь было придумать, ищем пока не повезет…
Офлайн
jingvarдостаточно app_directories.Loader поставить перед filesystem.Loader. Тогда сперва буде искать в “имя_приложения/templates” а потом, если не найдет - в templates_dirs
Я так думаю, templates_dirs должен быть пустой, лоадер только ‘django.template.loaders.app_directories.Loader’, шаблоны хранить в имя_приложения/templates.
Отредактировано (Ноя. 9, 2010 14:03:33)
Офлайн
appetitoapp_directories.Loader будет искать по порядку перечисленному в installed apps.jingvarдостаточно app_directories.Loader поставить перед filesystem.Loader. Тогда сперва буде искать в “имя_приложения/templates” а потом, если не найдет - в templates_dirs
Я так думаю, templates_dirs должен быть пустой, лоадер только ‘django.template.loaders.app_directories.Loader’, шаблоны хранить в имя_приложения/templates.
Офлайн