У мене є шаблон base.html з тегами для всього сайту для кодування, перевірки веб-сайту Google, таблиць стилів, js .... Мені також потрібно встановити блоки для тегів заголовків та мета-описів.
Мені цікаво, чи слід мені встановлювати {% блокову головку%} у моєму base.html та в моєму успадкованому шаблоні мішаних тегів у цьому блоці, або я повинен встановити конкретні блоки, такі як {% block meta%} та {% block title%}, щоб теги з’являлись у своїх відповідних місцях, Django відображає в HTML.
Це має сенс?Якщо я переглядаю джерело з усіма тегами, змішаними в одному {% block head%}, речі трохи не в порядку, але якщо я додаю конкретні блоки для кожного тегу, вони в порядку, але використовую набагато більше коду ...?
Відповіді:
5 за відповідь № 1У мене зазвичай три блоки. Ці троє покрили всі мої та колеги за останні 1,5 року :-)
Блок для css.
Блок для javascript.
Блок, який називається "головними статистами".Часто ви хочете зробити щось особливе для кожної сторінки, наприклад, додати елемент посилання, який вказує на ваш RSS-канал. Або якийсь вбудований фрагмент JavaScript. За допомогою цього блоку ви чітко дозволяєте ці кутові шафи.
У шаблонах, що розширюють базовий шаблон, ви можете використовувати {{ super }}
у блоках css та javascript, щоб отримати "батьківський" список і розширити його своїм.
У мене також є блок голови навколо всього для тих декількох випадків, коли ви просто хочете замінити все в голові :-)