Подтвердить что ты не робот

{% include%} vs {% extends%} в шаблонах django

Когда особенно расширяется шаблон и когда его использовать? Включено ли какое-либо использование с контентом, таким как раздел профиля пользователя (например, обо мне в углу нашего сайта)?

4b9b3361

Ответ 1

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

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

Ответ 2

Подробнее о django шаблоне inheretance.

Расширяет класс "включает" родительский шаблон и затем может перезаписывать его части для различных функций.

Включить включает простой способ визуализации шаблона в текущем контексте.

Ответ 3

extends создает "родительско-дочерние отношения". Существует вероятность перезаписи родительской функциональности в случае расширений. В то время как include просто выводит ответ html.