在我的 django 应用程序中,我有一个典型的基本模板,其中包含我的 doctype、script 和 css 标签等内容。
为了清晰和代码组织,我将这个基本模板解构为它的组成部分,每个部分都扩展了前一个部分,只添加了一个特定的东西。例如,base/favicon.html:
{% extends "base/chromeframe.html" %}
{% load staticlink %}
{% block metatags %}{{ block.super }}
<link href="{% staticlink 'img/favicon.ico' %}" rel="shortcut icon" type="image/x-icon">{% endblock metatags %}
它扩展了 base/chromeframe.html:
{% extends "base/mobile.html" %}
{% block metatags %}{{ block.super }}{% if 'chromeframe' in request.META.HTTP_USER_AGENT %}
<meta http-equiv="X-UA-Compatible" content="chrome=1">{% endif %}{% endblock metatags %}
这使我的基本模板更易于管理。 我是否为这种方法付出了巨大的性能损失? 基准模板渲染的好方法是什么?
在您建议我使用包含而不是继承之前 - 这不起作用,因为我正在设置被从我的基本模板派生的页面覆盖的块。
我知道我可以对这些模板部分进行某种预编译。