django模板:扩展模板是否能够在父页面中更改css?

Sha*_*ang 5 django templates extend

我有两个django模板页面,其中一个是"base.html",基本的html标签设置为基本模板.现在我有一个页面"child.html"扩展它,其中包含类似的东西{% extends "base.html" %}.现在我必须更改<body>此特定页面的背景颜色,所以在"child.html"的CSS中我写道:

body {
    background-color: #000000;
    /* some other css here */
}
Run Code Online (Sandbox Code Playgroud)

但身体似乎没有回应任何变化.我想我一定错过了什么.请帮忙,谢谢.

编辑: 在"child.html"中,我只是拥有

<link rel="stylesheet" type="text/css" href="/site-media/css/template_conf.css"/>
Run Code Online (Sandbox Code Playgroud)

我尝试改变身体css template_conf.css,并没有其他页面包括template_conf.css.

abl*_*blm 9

在主模板中:

<body class="{% block body_class %}{% endblock %}">
...
</body>
Run Code Online (Sandbox Code Playgroud)

然后在子模板中,只需定义块:

{% block body_class %} my_new_body_css_class {% endblock %}
Run Code Online (Sandbox Code Playgroud)

这将呈现a <body class="my_new_body_css_class">...</body>,您必须在链接的CSS中定义此类.


小智 9

为此,在头部的base.html中添加一个块,允许您在base.html中插入另一个css

<head>

    .... other head tags ....

    <link rel="stylesheet" type="text/css" href="/site-media/css/template_conf.css"/>
    {% block extra_css %}{% endblock %}
</head>
Run Code Online (Sandbox Code Playgroud)

这允许您template_conf.css通过<link>在child.html中添加另一个标记来覆盖css标记

{% block extra_css %}
<link rel="stylesheet" type="text/css" href="/site-media/css/child_template.css"/>
{% endblock %}
Run Code Online (Sandbox Code Playgroud)

这允许您覆盖需要更改的base.html部分,同时仍然能够调整child.html中所需的页面部分.