带有 Django 的 Bootstrap 4 无法正确显示

Posted

技术标签:

【中文标题】带有 Django 的 Bootstrap 4 无法正确显示【英文标题】:Bootstrap 4 with Django not displaying properly 【发布时间】:2018-02-16 13:56:16 【问题描述】:

我正在尝试设置 Django 以使用 Bootstrap。我似乎无法让它正常工作,而且我不确定我做错了什么。首先,我只是显示一个面板。 It should look like this example from W3Schools.

相反,它看起来像这样:

这是我生成的 html 的样子:

<!DOCTYPE html>

<html lang="en">
<head>
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta/css/bootstrap.min.css" integrity="sha384-/Y6pD6FV/Vv2HJnA6t+vslU6fwYXjCFtcEpHbNJ0lyAFsXTsjBbfaDjzALeQsN6M" crossorigin="anonymous">
    <script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.11.0/umd/popper.min.js" integrity="sha384-b/U6ypiBEHpOf/4+1nzFpr53nxSS+GLCkfwBdFNTxtclqqenISfwAzpKaMNFNmj4" crossorigin="anonymous"></script>
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta/js/bootstrap.min.js" integrity="sha384-h0AbiXch4ZDo7tp9hKZ4TsHbi047NrKGLO3SEJAg45jXxnGIfYzk4Si90RDIqNm1" crossorigin="anonymous"></script>
</head>

<body>
    <div class="container">
        <h2>Basic Panel</h2>
        <div class="panel panel-default">
            <div class="panel-body">A Basic Panel</div>
        </div>
    </div>
</body>
</html>

似乎正在应用一些样式,因为如果我删除样式表&lt;link&gt;,它似乎会更改样式。在 Bootstrap 网站上,它提到不完整的样式可能是由于 DOCTYPE 声明,但据我所知,我是正确的。

我假设我在这里犯了一些相对明显的错误。

【问题讨论】:

是的,我有,而且有效。但这并不能解释为什么我的不起作用。此外,我想使用 Bootstrap 4,而不是 3。我会尝试弄乱完整性参数,但这些是直接从 Bootstrap 站点复制的。 也不行,看起来还是一样的。也删除了跨域参数。 【参考方案1】:

问题出在你的班级。现在引导更改一些类。查看此以获取更多信息https://v4-alpha.getbootstrap.com/migration/#panels-thumbnails-and-wells

【讨论】:

太棒了,完全错过了这个。 Bootstrap 明智的做法是在他们的网站上多关注这些变化。谢谢! Mauricio,我注意到我实际上没有得到与引导示例 on this page 相同的填充。 Here's an example。我有什么明显的遗漏吗?【参考方案2】:

所以我也玩弄了您的代码和 w3schools 示例。好像

<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta/css/bootstrap.min.css">

玩得不好。你有什么理由不想使用

<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">

因为当我替换该 CSS 链接时,它在您的代码中运行良好。希望这会有所帮助。

这是你的代码:

<!DOCTYPE html>

<html lang="en">
<head>
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<!--<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta/css/bootstrap.min.css">-->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<script src="https://code.jquery.com/jquery-3.2.1.slim.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.11.0/umd/popper.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta/js/bootstrap.min.js"></script>
</head>

<body>
<div class="container">
    <h2>Basic Panel</h2>
    <div class="panel panel-default">
        <div class="panel-body">A Basic Panel</div>
    </div>
</div>
</body>
</html>

【讨论】:

以上是关于带有 Django 的 Bootstrap 4 无法正确显示的主要内容,如果未能解决你的问题,请参考以下文章

使用带有 Django 分类视图的 Bootstrap 模型来实现登录功能

使用带有 Pandas DF 的 Bootstrap-Table 的 Django 模板

当 form.is_bound 重置带有 CheckboxSelectMultiple 和 Bootstrap 自定义控件输入的 Django forms.MultipleChoiceField

python测试开发django-188.Bootstrap折叠(Collapse)插件

带有引导程序的 django modelform

django-bootstrap4|django 加载popper.min.js失败