Glader
Янв. 5, 2008 15:00:27
Я хочу сделать в проекте несколько приложений, чтобы каждое использовало свою папку с шаблонами, вида
- app1
- - templates
- - - base.html
- - - index.html
- - vews.py
- app2
- - templates
- - - base.html
- - - index.html
- - vews.py
- settings.py
Проблема в том, что если я указываю в настройках проекта несколько папок шаблонов, шаблон берется первый найденный (а не соответствующий этому приложению). Писать в render_to_response полный путь к шаблону не хочется. Естественно, хочется, чтобы каждое приложение не знало о других приложениях и о проекте, в котором используется. В данный момент пишу в каждой вьюхе путь к шаблонам:
return render_to_response('app2/templates/index.html', context)
Какие подскажете варианты упрощения?
Александр Кошелев
Янв. 5, 2008 15:17:42
Стандартное решение описанное в документации
- app1
- - templates
- - - app1
- - - - base.html
return render_to_response('app1/base.html', context)
Glader
Янв. 5, 2008 15:24:46
Эээ, а ты уверен в иерархии каталогов? Там вроде предлагается выносить папку templates из app1, и класть ее на уровень settings.py. Мне такое решение не очень нравится, я хотел бы, чтобы всё, относящееся к приложению, лежало в одной папке внутри app1.
Александр Кошелев
Янв. 5, 2008 15:28:10
Glader
Эээ, а ты уверен в иерархии каталогов?
абсолютно
Glader
Там вроде предлагается выносить папку templates из app1, и класть ее на уровень settings.py.
поэтому я предложил, что предложил.
Glader
Янв. 5, 2008 15:35:49
Извини, я наверное туплю. Да, такой вариант хорош, единственно что смущает, лишний уровень вложенности. Спасибо, попробую.
Александр Кошелев
Янв. 5, 2008 16:09:37
Glader
Извини, я наверное туплю. Да, такой вариант хорош, единственно что смущает, лишний уровень вложенности. Спасибо, попробую.
Конечно попробуй. А лишняя вложенность это не страшно.