Простой ответ: не с функциональностью по умолчанию. Абстрагирование таких вещей, как тег {% base %}
в другой файл, значительно затруднит чтение шаблонов.
Один из способов убрать «лишнюю работу» - заставить ваш редактор сделать это за вас. В моем случае я определяю все свои шаблоны как .dhtml
файлы и вставляю VIM в шаблон в файл всякий раз, когда открываю пустой файл .dhtml
. Большинство редакторов, ориентированных на программирование, имеют эту встроенную функциональность, чтобы вам не пришлось вручную копировать / вставлять или перепечатывать базовые структуры.
Еще одна вещь, которую следует учитывать, - это то, что вы можете создавать сами шаблоны не самым оптимальным образом. Например, если у вас разные базовые шаблоны, можете ли вы заменить разные базовые шаблоны CSS? CSS может изменять шаблоны таким образом, что программисты могут иногда упускать из виду. Для хорошего примера, посмотрите CSS Zen Garden . Изменения, которые вы видите, поразительны, и они совсем не меняют базовый HTML.
Для такого изменения вы могли бы просто иметь это в templates/base.html
:
<link rel="stylesheet" type="text/css" href="{{ MEDIA_URL }}css/default.css" />
{% block extracss %}{% endblock %}
И чтобы включить превосходящий CSS, вы помещаете это в свои шаблоны:
{% extends "base.html" %}
{% block extracss %}
<link rel="stylesheet" type="text/css" href="{{ MEDIA_URL }}css/orchid_beauty.css" />
{% endblock %}