我是 Django 的新手,对 CSS 更是如此。在我网站的 base.html 中,我包含了一个 Bootstrap cdn,如下所示:
<meta charset="UTF-8">
<link rel="shortcut icon" href="{% static 'favicon.ico' %}">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<link rel="stylesheet" type="text/css" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
但是,我想对css做一些修改,我不能,因为cdn是一个外部文件。由于 proocol 问题,当我只是将内容复制到本地 css 文件时,它不起作用。 根据this previous thread我尝试添加另一行以覆盖 cdn,如下所示:
<link rel="stylesheet" type="text/css" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<link rel="stylesheet" type="text/css" href="{{ STATIC_URL }}/bootstrap/css/style.css">
但它不起作用。我也尝试将这一行写在本地 html 文件中(即不在 base.html 中)但没有成功。 我的问题是:
- 如何覆盖 cdn 文件?也就是说,最好在哪里 放置另一个 css 文件(我在元素中都有静态目录 和应用级别),以及它的命名方式是否重要?
- 如何进行简单而安全的测试以查看其是否有效?
- 最重要的是,我正在寻找一种将元素(例如,图像和菜单)放在一起而不是堆叠在一起的方法。 This one似乎相关,但它需要修改 css 文件,而我似乎做不到。
- CSS 链接应该放在哪里?就像我在元部分中写的那样?
最佳答案
确保您在设置文件中定义了 STATIC_URL
STATIC_URL = '/static/'
我建议您阅读有关 django 中的静态文件的内容 documentation ,简而言之,您应该具有静态文件的结构,在元素文件夹中创建一个名为“static”的文件夹,并将所有静态文件放入其中,并按文件夹分解,例如,您所有的 .css 文件将放在
/static/css/main.css
等 那么我强烈推荐使用 django.contrib.staticfiles 最后你所要做的就是那样
{% load static %}
<link rel="stylesheet" type="text/css" href="{% static/css/bootstrap/style.css %)">
并从您的代码中删除您的 cdn 链接
关于css - 如何覆盖 Django 中的 bootstrap cdn?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44869440/