【问题标题】:How to override bootstrap cdn in Django?如何在 Django 中覆盖引导 cdn?
【发布时间】:2017-12-05 18:29:12
【问题描述】:

我是 Django 新手,对 CSS 更是如此。在我的网站的 base.html 中,我包含了一个引导 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 中),但没有成功。 我的问题是:

  1. 如何覆盖 cdn 文件?也就是说,最好在哪里 放置另一个css文件(我在项目中都有静态目录 和应用程序级别),以及它的命名方式是否重要?
  2. 什么是简单而安全的测试,看看它是否有效?
  3. 最重要的是,我正在寻找一种将元素(例如,图像和菜单)放在一起而不是堆叠的方式。 This one 似乎相关,但它需要修改 css 文件,而我似乎无法做到。
  4. css 链接应该放在哪里?像我写的那样还是在元部分内?

【问题讨论】:

  • 好的,如果您只想将元素放在一行中,您不必触摸引导程序。您提供的链接应该告诉您该怎么做。 CSS“浮动”属性可能是您正在寻找的。将这两个元素放在 &lt;div&gt; 中并添加 float 属性。尝试一些东西来看看 CSS 是如何工作的。

标签: css django twitter-bootstrap-3


【解决方案1】:
  1. 确保您在设置文件中定义了 STATIC_URL

    STATIC_URL = '/static/'

  2. 我建议您阅读 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 链接

【讨论】:

  • 谢谢!显然出了问题的是我写了{{ STATIC_URL }}/bootstrap/css/style.css"&gt;而不是href="{% static "/bootstrap/css/style.css" %}"&gt;。现在我可以同时使用 CDN(这为我节省了大量工作 - 否则我将不得不自己编写整个内容)并在整个站点上修改我需要的任何内容(默认字体、字体大小、调色板等)。
【解决方案2】:

只需在 bootstrap 调用下放置一个 CSS 文件并覆盖您需要的任何类。

【讨论】:

    猜你喜欢
    • 2018-02-11
    • 2015-10-24
    • 2019-01-29
    • 2014-11-11
    • 1970-01-01
    • 2021-05-24
    • 1970-01-01
    • 2020-11-08
    • 2018-04-24
    相关资源
    最近更新 更多