2014-06-17 100 views
0

我想为继承做一个master.html,但我的问题是,在3个不同的地方代码是相同的除了正文类。Django模板继承 - 标记CSS类

所以我master.html

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

但在某些地方我有 < _body类= “前”> < _body类= “not_front”> 我的内容的其余部分(如。 js文件,图片)是一样的。

有没有干净的做法是正确的,而不是有三个不同的'主人'?

回答

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 %} 
+0

辉煌!非常感谢你! – Archarachne