django template: Is extended template able to change css in parent page?

后端 未结 3 851
鱼传尺愫
鱼传尺愫 2021-02-04 18:51

I have two django template pages, one of them is \"base.html\", with basic html tags setup as a base template. Now I have a page \"child.html\" that extends it, with something l

相关标签:
3条回答
  • 2021-02-04 19:10

    if you see the new css loaded in the firebug or other browser debugger, please try:

    body {
    background-color: #000000 !important;
    /* some other css here */
    

    }

    0 讨论(0)
  • 2021-02-04 19:15

    In the main template:

    <body class="{% block body_class %}{% endblock %}">
    ...
    </body>
    

    Then in the child template, just define the block:

    {% block body_class %} my_new_body_css_class {% endblock %}
    

    This will render a <body class="my_new_body_css_class">...</body> and you have to define this class in a linked CSS.

    0 讨论(0)
  • 2021-02-04 19:21

    To do this add a block in base.html in the head that allow you to inset another css AFTER the one in base.html

    <head>
    
        .... other head tags ....
    
        <link rel="stylesheet" type="text/css" href="/site-media/css/template_conf.css"/>
        {% block extra_css %}{% endblock %}
    </head>
    

    This allows you to override css tags in template_conf.css by adding in another <link> tag in child.html

    {% block extra_css %}
    <link rel="stylesheet" type="text/css" href="/site-media/css/child_template.css"/>
    {% endblock %}
    

    This allows you to override the partd of base.html that needs to change, while still being able to tweak the parts of the page in child.html that are required.

    0 讨论(0)
提交回复
热议问题