Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » Django
  • » Неуникальные шаблоны в папках приложений. [RSS Feed]

#1 Ноя. 8, 2010 14:38:05

jingvar
От:
Зарегистрирован: 2010-03-24
Сообщения: 35
Репутация: +  0  -
Профиль   Отправить e-mail  

Неуникальные шаблоны в папках приложений.

Есть проект, в нем приложение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.
Вообще не понимаю как можно такой лодырь было придумать, ищем пока не повезет…



Офлайн

#2 Ноя. 9, 2010 14:02:59

appetito
От:
Зарегистрирован: 2010-09-28
Сообщения: 147
Репутация: +  2  -
Профиль   Отправить e-mail  

Неуникальные шаблоны в папках приложений.

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



Отредактировано (Ноя. 9, 2010 14:03:33)

Офлайн

#3 Ноя. 10, 2010 11:24:40

jingvar
От:
Зарегистрирован: 2010-03-24
Сообщения: 35
Репутация: +  0  -
Профиль   Отправить e-mail  

Неуникальные шаблоны в папках приложений.

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.



Офлайн

  • Начало
  • » Django
  • » Неуникальные шаблоны в папках приложений.[RSS Feed]

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version