css - Django 中的 Bootstrap 和管理 css 冲突

标签 css django twitter-bootstrap django-admin

我将 Bootstrap 与 Django 一起使用,以及来自管理员的 css(用于日期小部件)。我的问题是,在我有日期小部件的页面上,admin css 覆盖了 bootstrap css,因此整个页面看起来不同。我该如何解决?

基础.html

<head>

     {% block extra_head %}
     {% endblock %}

    <link href="{{ STATIC_URL }}bootstrap/css/bootstrap.css" rel="stylesheet" media="screen">

    <link href="{{ STATIC_URL }}bootstrap/css/bootstrap-responsive.css" rel="stylesheet">

</head>  

带有日期小部件的模板

{% extends "base.html" %}
{% load adminmedia %}

{% block extra_head %}

  <link rel="stylesheet" type="text/css" href="{{ STATIC_URL }}admin/css/base.css"/>
  <link rel="stylesheet" type="text/css" href="{{ STATIC_URL }}admin/css/widgets.css"/>

  <script type="text/javascript" src="/admin/jsi18n/"></script>
  <script type="text/javascript" src="{{ STATIC_URL }}admin/js/core.js"></script>
  <script type="text/javascript" src="{{ STATIC_URL }}admin/js/admin/RelatedObjectLookups.js"></script>
  <script type="text/javascript" src="{{ STATIC_URL }}admin/js/jquery.js"></script>
  <script type="text/javascript" src="{{ STATIC_URL }}admin/js/jquery.init.js"></script>
  <script type="text/javascript" src="{{ STATIC_URL }}admin/js/actions.js"></script>
  <script type="text/javascript" src="{{ STATIC_URL }}admin/js/calendar.js"></script>
  <script type="text/javascript" src="{{ STATIC_URL }}admin/js/admin/DateTimeShortcuts.js"></script>

  <script type="text/javascript">window.__admin_media_prefix__ = "{% filter escapejs %}{% admin_media_prefix %}{% endfilter %}";</script>

{% endblock %}

最佳答案

将 Bootstrap css 放入 {% block extra_head %}{% endblock %}。不要担心,只要你没有调用 {{block.super}},bootstrap 就不会被激活。

<head>
     {% block extra_head %}
     <link href="{{ STATIC_URL }}bootstrap/css/bootstrap.css" rel="stylesheet" media="screen">
     <link href="{{ STATIC_URL }}bootstrap/css/bootstrap-responsive.css" rel="stylesheet">
     {% endblock %}
</head>  

要在其他模板中激活 Bootstrap ,只需简单地输入 {{block.super}}:

{% extends "base.html" %}

{% block extra_head %}
    {{block.super}}
    //other css here
{% endblock %}

更新:

覆盖管理员现有的 css。在您的 bootstrap css 中,您必须放置 !important 以便它会强制您的模板遵循 bootstrap 设计

示例:

<p>This red text <strong style="color: red;">should be blue</strong></p>

<style>
   strong { color: blue !important; }
</style>

关于css - Django 中的 Bootstrap 和管理 css 冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15411097/

相关文章:

django - Twitter、Webhooks 和 Django CRC 检查 --> 'str' 对象没有属性 'xframe_options_exempt'

javascript - 如何在网站上使用 google 帐户登录

html - IE11 : very poor perfomance in rendering tables - any solutions?

python - 如何在 django 中添加模板 css js 和 bootstrap

django - 如何在 Django 管理站点上授予用户权限

javascript - 如何在固定 Bootstrap 导航栏的情况下显示不同的 Bootstrap 页面

移动设备上的 iOS 无法正确显示 CSS 1px 边框

html - twitter-bootstrap 关闭警报不起作用

javascript - jQuery点击改变颜色

javascript - 如何防止 fancybox 关闭?想让用户点击关闭按钮而不是浏览器上的任何地方