【发布时间】:2013-02-16 09:26:56
【问题描述】:
在我的 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 %}
这使我的基本模板更易于管理。 我是否为这种方法付出了很大的性能损失?什么是基准模板渲染的好方法?
在您建议我使用包含而不是继承之前 - 这不起作用,因为我正在设置被从我的基本模板派生的页面覆盖的块。
我知道我可以对这些模板部分进行某种预编译。
【问题讨论】:
-
配置文件配置文件。
-
@pst 谢谢,我知道。我在这里要求避免花费时间和精力进行自己的测试。懒惰或从别人的经验中学习,这取决于你如何看待它。
标签: django django-templates django-testing