Django:include上的模板继承覆盖

时间:2010-12-19 08:58:07

标签: django django-templates

例如,我有top.html,它将包含在base.html中。 如何在包含?

之后覆盖top.html的内容

1 个答案:

答案 0 :(得分:2)

你不明白模板的思想 正确的方法是像这样创建base.html:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
        <title>Some app - {% block header %}{% endblock %}</title>
    </head>
    <body>
        <h1>{% block title %}Default title{% endblock %}</h1>
        {% block content %}{% endblock %}
    </body>
</html>

然后在page.html中,您可以覆盖标题,例如:

{% extends "base.html" %}
{% block title %}Some page{% endblock %}
{% block header %}Overriden header{% endblock %}
{% block content %}
    Some content
{% endblock %}