【问题标题】:Bootstrap Nav Bar Not RespondingBootstrap 导航栏没有响应
【发布时间】:2021-03-14 21:54:39
【问题描述】:

我正在尝试将 Bootstrap 合并到 Django 项目中。但是,我无法让导航栏按钮在单击后展开。我怀疑 Django 对模板进行分层会导致 Jquery 加载奇怪,因此在单击按钮时从不做任何事情。

下面是我的content_base.html

{% load static %}
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
    <!-- Bootstrap CSS -->
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@4.5.3/dist/css/bootstrap.min.css"
          integrity="sha384-TX8t27EcRE3e/ihU7zmQxVncDAy5uIKz4rEkgIXeMed4M0jlfIDPvg6uqKI2xXr2" crossorigin="anonymous">

    <link rel="stylesheet" href={% static 'css/customizations.css' %}>
</head>
<body>
<!-- NavBar -->
<header>
    <nav class="navbar navbar-dark bg-dark">
        <a class="navbar-brand" href={% url 'home_page:home_page' %}>Home Page</a>
        <button class="navbar-toggler" type="button" data-toggle="collapse"
                data-target="#navbarSupportedContent"
                aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
            <span class="navbar-toggler-icon"></span>
        </button>
        <div class="navbar-collapse collapse">
            <ul class="navbar-nav mr-auto">
                <li class="nav-item active">
                    <!-- Needs the users form path for login when created, filler for now to home -->
                    <a class="nav-link" href={% url 'home_page:home_page' %}>Testing</a>
                </li>
                <li class="nav-item active">
                    <a class="nav-link" href={% url 'home_page:about_page' %}>Another Test</a>
                </li>
            </ul>
        </div>
    </nav>
</header>
{% block content %}
{% endblock content %}

<!-- BOOTSTRAP CDN URLs -->
<script src="https://code.jquery.com/jquery-3.5.1.slim.min.js"
        integrity="sha384-DfXdz2htPH0lsSSs5nCTpuj/zy4C+OGpamoFVy38MVBnE+IbbVYUew+OrCXaRkfj"
        crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.1/dist/umd/popper.min.js"
        integrity="sha384-9/reFTGAW83EW2RDu2S0VKaIzap3H66lZH81PoYlFhbGU+6BZp6G7niu735Sk7lN"
        crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@4.5.3/dist/js/bootstrap.min.js"
        integrity="sha384-w1Q4orYjBQndcko6MimVbzY0tgp4pWB4lZ7lr30WKz0vr/aWKhXdBNmNb5D92v7s"
        crossorigin="anonymous"></script>

<!-- MATHJAX CDN URLs -->
<!--For notes on MathJax CDNs and recommended practices for using the CDNs
https://docs.mathjax.org/en/v2.7-latest/start.html-->
<script src="https://polyfill.io/v3/polyfill.min.js?features=es6"></script>
<script type="text/javascript" async
        src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.7/MathJax.js?config=TeX-MML-AM_CHTML">
</script>
</body>
</html>

然后内容文件将扩展上述内容,看起来像 example_content.html

{% extends 'content_base.html' %}

{% block content %}
    <head>
        <title>A page title</title>
    </head>
    <body>
    <div>
        <h1>Some Heading</h1>
---
---
    </div>
    </body>
{% endblock %}

我已经删除了 mathjax 的东西,但它并没有改变任何东西。我还尝试只拉下各种 JS 源并在本地加载它们,但仍然没有。非常感谢任何帮助,这似乎应该很简单,但我已经为此努力了几个小时。

【问题讨论】:

    标签: bootstrap-4 django-templates navbar


    【解决方案1】:

    我今天早上开始工作了。这两个是罪魁祸首:

    data-target="#navbarSupportedContent"
    aria-controls="navbarSupportedContent" 
    

    我把它们改成:

    data-target="#navbarText"
    aria-controls="navbarText"
    

    之后一切正常。

    【讨论】:

      猜你喜欢
      • 2015-07-03
      • 1970-01-01
      • 2014-04-26
      • 1970-01-01
      • 2022-08-19
      • 1970-01-01
      • 1970-01-01
      • 2019-06-19
      相关资源
      最近更新 更多