使用 django-bootstrap3 难以创建导航栏切换

Posted

技术标签:

【中文标题】使用 django-bootstrap3 难以创建导航栏切换【英文标题】:Difficulty creating navbar toggle with django-bootstrap3 【发布时间】:2014-11-16 19:10:50 【问题描述】:

我想使用django-bootstrap3 向我的网站添加一个简单的导航栏。我正在编辑以创建导航栏的 base.html 文档适用于 Twitter Bootstrap,但不适用于 django-bootstrap3。我遇到的问题是应该切换下拉列表的按钮在单击时没有任何作用。有没有人遇到过这个问题?

这是我的 base.html:

<!DOCTYPE html>
<html lang="en">
<head>


<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>% block title %% endblock title %</title>

% load bootstrap3 %
% bootstrap_css %
% bootstrap_javascript %

<style>
    body 
        padding-top: 70px;
    
</style>

    <!--[if lt IE 9]>
  <script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
  <script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
<![endif]-->

</head>

<body>

 <!------Navbar ---------->

<header class = "navbar navbar-inverse navbar-fixed-top" role = "banner">
<div class = "container">
    <div class ="navbar-header">
        <button type = "button" class= "navbar-toggle" data-toggle = "collapse" data-target = "#dropdown">
            <span class = "sr-only">Toggle navigation</span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
        </button>

        <a href="#" class ="navbar-brand">Project Name</a>
    </div><!-- End Navbar Header-->

    <div class = "collapse navbar-collapse" id = "dropdown">

        <ul class = "nav navbar-nav navbar-right" role = "navigation">
            <li><a href="#">Home</a></li>
            <li><a href="#">New Page</a></li>
            <li><a href="#">New Page</a></li>
            <li><a href="#">New Page</a></li>
        </ul>      

    </div><!-- End Nav Contents -->
</div><!-- End Container -->
</header>

【问题讨论】:

您在查找静态文件的位置可能存在一些问题。查看您的 settings.py 以确保它有意义。另外,查看 html 的源代码,看看是否有某些内容未被访问。 访问 base.html 时查看终端日志.. 有任何干扰..? 没有干扰。我一直在阅读文档,不幸的是,它没有任何关于数据切换或数据目标的内容。我在我的 settings.py 文件中没有看到任何问题,并且其他所有内容都已渲染得很好。 【参考方案1】:

问题是 django-bootstrap3 的 javascript 需要安装 jquery(我错误地认为 django-bootstrap3 会自动执行此操作)。我一引用 jquery,问题就立即得到解决。

【讨论】:

您能否详细说明您是如何正确引用 jquery 的?我有一个非常相似的问题。 django-bootstrap3 的默认设置是不包括 jquery 加载。因此,您可以添加链接以加载 jquery,或更改默认设置。看看@django-bootstrap3.readthedocs.io/en/latest/settings.html。具体来说,# Include jQuery with Bootstrap JavaScript (影响 django-bootstrap3 模板标签) 'include_jquery': True,【参考方案2】:

我知道这个主题已有 2 年历史了,但如果将来每个人都有同样的问题,这里的解决方案是:在您的模板中,替换:

% bootstrap_javascript %

作者:

% bootstrap_javascript jquery=1 %

【讨论】:

以上是关于使用 django-bootstrap3 难以创建导航栏切换的主要内容,如果未能解决你的问题,请参考以下文章

django-bootstrap3 字段宽度控制

django-bootstrap3 - bootstrap_css 的目的是啥?

软件自动化测试Django-bootstrap3 | 发布会管理

django 使用django-bootstrap4插件时,使表单呈2列或其他列分布时的写法

django-bootstrap5 和按钮对齐

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