Django模板继承 - 标记CSS类

时间:2014-06-17 13:26:15

标签: css django django-templates

我想创建一个master.html继承,但我的问题是在3个不同的地方除了body类之外代码是相同的。

所以我有master.html

<html>
 <head>...<head>
 <body>
  {% block one %}{% endblock %}
  {% block two %}{% endblock %}
  {% block extra %}{% endblock %}
 </body>
</html>

但在某些地方我有     &lt; _body class =&#34; front&#34;&gt;     &lt; _body class =&#34; not_front&#34;&gt; 我的其他内容(如.js文件,图片)是相同的。

有没有干净的方法做得对,没有三个不同的主人&#39;?

1 个答案:

答案 0 :(得分:1)

您可以在<body>标记内定义一个块:

<html>
    <head>...<head>
    <body {% block body_options %}{% endblock %}>
        {% block one %}{% endblock %}
        {% block two %}{% endblock %}
        {% block extra %}{% endblock %}
    </body>
</html>

然后,在您的子模板中

{% extends 'master.html' %}
{% block body_options %}class="front"{% endblock %}