子模板中的第二个样式表/覆盖样式表

时间:2012-06-26 18:39:36

标签: python css django django-templates

我有一个网站,我正在与python和django放在一起。 我有一个模板html页面Speakers.html,它扩展了Base.htmlBase.html包含样式表base.css

Speakers.html正在显示base.css样式,我的问题是我希望Speakers.html从另一个样式表speakers.css获得额外的样式。

我一直想弄清楚但speaker.css似乎没有被应用,因为我刚刚在cmd输出中注意到文件speaker.css没有被加载完全没有。

我尝试将它放在一个块中,这是你现在看到的代码。我不得不重复{% load static %}以消除关于它期待endblock的错误但它似乎没有差异。

base.html文件

<!DOCTYPE HTML>
<html lang="en">

<head>
    <title>Base.Html</title>
    {% load static %}
    <link rel="stylesheet"  type="text/css" href="{% static "CSS/base.css" %}" />
    {% block additionalcss %}{% endblock %}
</head>

<body>

...ect

Speakers.html

<!-- extending works -->
{% extends "Base.html" %} 


 <!-- Now i'm trying to load an additional stylesheet -->
{% block additionalcss %}
{% load static %}
<link rel="stylesheet"  type="text/css" href="{% static "CSS/speakers.css" %}" />
{% endblock %}

{% block currentpage_content %}
<h2>Guest speakers at the event</h2>

<p> This text would be red if speakers.css was applying properly </p>
...ect

出于测试目的,我在speaker.css中添加了以下规则:

*
{
color: red;
}

所以我认为Speakers.html上的文字如果有效的话都应该是红色的。

1 个答案:

答案 0 :(得分:3)

尝试在模板中使用blocks

类似的东西:

<强> base.html文件

<!DOCTYPE HTML>
<html lang="en">

<head>
    <title>Base.Html</title>
    {% load static %}

    {% block css %}{% endblock %}
    <link rel="stylesheet"  type="text/css" href="{% static "CSS/base.css" %}" />
</head>

<body>

...ect

<强> Speakers.html

<!-- extending works -->
{% extends "Base.html" %} 

{% block css %}
{% load static %}
<link rel="stylesheet"  type="text/css" href="{% static "CSS/speakers.css" %}" />
{% endblock %}

{% block currentpage_content %}
<h2>Guest speakers at the event</h2>

<p> This text would be red if speakers.css was applying properly </p>
...ect

通过在父项中定义块然后在子项中指定它们,css文件将被插入到模板中。