/ / Належний метод успадкування шаблону Django вмісту <head> - django, html5, head, template-спадкування

Правильний метод для спадкування шаблону Django вмісту <head> - django, html5, head, template-inheritance

У мене є шаблон 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, щоб отримати "батьківський" список і розширити його своїм.

У мене також є блок голови навколо всього для тих декількох випадків, коли ви просто хочете замінити все в голові :-)