【问题标题】:Does parent template's CSS properties applies to extended child template in Django?父模板的 CSS 属性是否适用于 Django 中的扩展子模板?
【发布时间】:2020-10-17 19:29:39
【问题描述】:

我正在使用 Django 创建一个站点,其中我将 CSS 属性应用于扩展模板文件。 CSS 文件在父模板中导入,在子模板中使用。但它没有显示子模板的任何变化。这是我的代码:

.c1 a:hover {
    background-color: #1D1C1C;
    color: white;
}

.theta {
    position: relative;
    left: 100px;
}
{% load static %}
<!DOCTYPE html>
<!-- Parent File -->
<html lang="en">
    <head>
        <meta charset="utf-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <title>Site</title>

        <link href="{% static 'css/bootstrap-4.4.1.css' %}" rel="stylesheet" type="text/css">
        <link href="{% static 'css/style.css' %}" rel="stylesheet" type="text/css">
        

        <!-- <link href="../static/css/bootstrap-4.4.1.css" rel="stylesheet" type="text/css"> -->
        <!-- <link href="../static/css/style.css" rel="stylesheet" type="text/css"> -->
    </head>
    <body>
        <nav class="navbar navbar-expand-lg navbar-dark bg-dark"> <a class="navbar-brand" href="{% url 'home' %}">Site</a>
            <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent1" aria-controls="navbarSupportedContent1" aria-expanded="false" aria-label="Toggle navigation">
                <span class="navbar-toggler-icon"></span>
            </button>
            <div class="collapse navbar-collapse" id="navbarSupportedContent1">
                <ul class="navbar-nav mr-auto">
                    <li class="nav-item dropdown">
                        <a class="nav-link dropdown-toggle text-white" href="#" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">A</a>
                        <div class="dropdown-menu c1" aria-labelledby="navbarDropdown">
                            <a class="dropdown-item" href="#">a</a>
                            <a class="dropdown-item" href="#">b</a>
                        </div>
                    </li>
                    <li class="nav-item">
                        <a class="nav-link text-white" href="#">B</a>
                    </li>
                </ul>
            </div>
        </nav>
        {% block content %}
        {% endblock %}

        <script src="{% static 'js/jquery-3.4.1.min.js' %}"></script>
        <script src="{% static 'js/popper.min.js' %}"></script> 
        <script src="{% static 'js/bootstrap-4.4.1.js' %}"></script>

<!--        <script src="../static/js/jquery-3.4.1.min.js"></script>
        <script src="../static/js/popper.min.js"></script> 
        <script src="../static/js/bootstrap-4.4.1.js"></script>
 -->
    </body>
</html>

<!-- Child File -->
{% extends "index.html" %}
{% block content %}
<br>
<div class="theta">
    {% for i in theta %}
        {{ i }}
        <br>
    {% endfor %}
</div>
<br>
{% endblock %}

是否需要额外的 loc 才能在子模板中显示这些更改?

【问题讨论】:

    标签: python html css django django-templates


    【解决方案1】:

    使用它来清除收集静态文件:

    python manage.py collectstatic --no-input --clear
    

    【讨论】:

    • 那么该命令将获取我所有的静态文件并从一个位置提供它吗?适用于所有应用?
    • 您好@AnuragSrivastava,我猜您将项目配置为在一个位置收集所有静态文件。但是如果你设置了STATIC_ROOT = os.path.join(BASE_DIR, 'run/static'),你项目中的所有静态文件都会收集在run/static中。
    • 你必须像这样设置STATICFILES_DIRSSTATICFILES_DIRS = [ os.path.join(BASE_DIR, 'static'), ]
    • 嘿,@MohammadAliAmini 这些命令不是用来正确设置静态路径的吗?但事实是我的父模板显示了静态文件所做的更改。它是从父模板扩展而来的子模板,没有显示任何更改。
    • @AnuragSrivastava,右键单击浏览器上的子模板,然后单击View page source。你能在页面顶部看到你的风格吗?像这样的东西:&lt;link rel="stylesheet" type="text/css" href="/static/css/main.css"&gt;,如果是,请单击它。你看到了什么?
    猜你喜欢
    • 2013-01-24
    • 2017-04-24
    • 2012-01-10
    • 2015-03-03
    • 2011-10-14
    • 2014-07-05
    • 2018-06-23
    • 2019-06-26
    • 2010-11-27
    相关资源
    最近更新 更多