2010-07-14 3 views
2

Я новичок в django, и в создании своего первого проекта я понял, что много моего шаблона кода (списки на стороне моей страницы). Я должен воссоздать их во всех представлениях, и я стараюсь придерживаться СУХОЙ, но каждый раз я переписываю код. Есть ли способ унаследовать мои базовые представления и просто изменить несколько объектов?Django шаблон шаблона

Спасибо, Джеймс

ответ

0

Если вы не решили использовать контекстный процессор по некоторым причинам (это решение выглядит разумно здесь), вы всегда можете инкапсулировать какую-то общую логику в функции использования и использовать их в своих представлениях.

Вы также можете посмотреть на Generic views - это хороший способ «остаться DRY» с кодом

3

Да, вы хотите посмотреть в template inheritance, который позволяет обмениваться общие элементы между шаблонами и {% include %} шаблонный тег, который позволяет создавать повторно используемые шаблоны «фрагменты», которые могут быть включены в другие шаблоны.

Редактировать: Перечитав вопрос, похоже, что вы говорите о шаблоне кода, который у вас есть в ваших функциях/методах просмотра, которые вы используете для создания контекста, разделяемого несколькими шаблонами. В этом случае ответ mipadi является правильным: просмотрите контекстные процессоры.

3

Для списков последних статей и т. Д. custom template tags - это то, что вам нужно. В то время как контекстный процессор автоматически заполнит ваш контекст списками, тег шаблона может фактически сделать это, а также создать всю разметку HTML для самого столбца.

1

Для больших блоков статического HTML, которые вновь появляются последовательно вы можете использовать включать тег шаблона:

{% include 'static/some_file.html' %} 

Вложения хранятся в вашей файловой системе шаблона, как и шаблоны.

Смежные вопросы