带有 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>
似乎正在应用一些样式,因为如果我删除样式表<link>
,它似乎会更改样式。在 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