Bootstrap下拉列表赢得了Django HTML模板中的工作

发布于 2025-02-10 10:28:33 字数 3107 浏览 1 评论 0 原文

我正在尝试在Django项目中共享的HTML文件中应用Bootstrap,而下拉列表无法正常工作,我尝试了所有可以CDN Local Bootstrap,当我单击“下拉列表”列表时,什么也不会发生。

以下是模板文件:

{% load static %}
<!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.0">
    <link rel="stylesheet" type="text/css" href="{% static 'css/bootstrap.min.css' %}">
  
    <title> {% block title %}{% endblock %} </title>
</head>
    <body>
        <nav class="navbar navbar-expand-md navbar-dark bg-dark">
            <a class="navbar-brand" href="{% url 'home' %}">Home</a>
            <button class="navbar-toggler" type="button" data-toggle="collapse"
            data-target="#navbarCollapse" aria-controls="navbarCollapse"
            aria-expanded="false" aria-label="Toggle navigation">
            <span class="navbar-toggler-icon"></span>
            </button>
            <div class="collapse navbar-collapse" id="navbarCollapse">
                {% if user.is_authenticated %}
                    <ul class="navbar-nav ms-auto">
                        <li class="nav-item">
                            <a class="nav-link dropdown-toggle" href="#" id="userMenu"
                            data-toggle="dropdown" aria-haspopup="true"
                            aria-expanded="false">
                            {{ user.username }}
                            </a>
                            <div class="dropdown-menu dropdown-menu-right"
                                aria-labelledby="userMenu">
                                <a class="dropdown-item"
                                href="{% url 'upload'%}">Upload</a>
                                <div class="dropdown-divider"></div>
                                <a class="dropdown-item" href="{% url 'logout' %}">
                                Log Out</a>
                            </div>
                        </li>
                    </ul>
                {% else %}
                        <form class="form-inline ms-auto">
                        <a href="{% url 'login' %}" class="btn btn-outline-secondary">
                        Log In</a>
                        <a href="{% url 'signup' %}" class="btn btn-primary ms-2">
                        Sign up</a>
                        </form>
                {% endif %}
            </div>
        </nav>
        <div class="container">
            {% block content %}
            {% endblock content %}
        </div>
        <script src="{% static 'js/bootstrap.bundle.js'%}"></script>
        <script src="{% static 'js/bootstrap.bundle.min.js' %}"></script>
        <script type="text/javascript" src="{% static 'js/bootstrap.min.js' %}"></script>
    </body>
</html>

I am trying to apply bootstrap in my shared html file in a Django project and the dropdown list just won't work I tried everything I could cdn local bootstrap and when I click the dropdown list nothing happens.

Below is the template file:

{% load static %}
<!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.0">
    <link rel="stylesheet" type="text/css" href="{% static 'css/bootstrap.min.css' %}">
  
    <title> {% block title %}{% endblock %} </title>
</head>
    <body>
        <nav class="navbar navbar-expand-md navbar-dark bg-dark">
            <a class="navbar-brand" href="{% url 'home' %}">Home</a>
            <button class="navbar-toggler" type="button" data-toggle="collapse"
            data-target="#navbarCollapse" aria-controls="navbarCollapse"
            aria-expanded="false" aria-label="Toggle navigation">
            <span class="navbar-toggler-icon"></span>
            </button>
            <div class="collapse navbar-collapse" id="navbarCollapse">
                {% if user.is_authenticated %}
                    <ul class="navbar-nav ms-auto">
                        <li class="nav-item">
                            <a class="nav-link dropdown-toggle" href="#" id="userMenu"
                            data-toggle="dropdown" aria-haspopup="true"
                            aria-expanded="false">
                            {{ user.username }}
                            </a>
                            <div class="dropdown-menu dropdown-menu-right"
                                aria-labelledby="userMenu">
                                <a class="dropdown-item"
                                href="{% url 'upload'%}">Upload</a>
                                <div class="dropdown-divider"></div>
                                <a class="dropdown-item" href="{% url 'logout' %}">
                                Log Out</a>
                            </div>
                        </li>
                    </ul>
                {% else %}
                        <form class="form-inline ms-auto">
                        <a href="{% url 'login' %}" class="btn btn-outline-secondary">
                        Log In</a>
                        <a href="{% url 'signup' %}" class="btn btn-primary ms-2">
                        Sign up</a>
                        </form>
                {% endif %}
            </div>
        </nav>
        <div class="container">
            {% block content %}
            {% endblock content %}
        </div>
        <script src="{% static 'js/bootstrap.bundle.js'%}"></script>
        <script src="{% static 'js/bootstrap.bundle.min.js' %}"></script>
        <script type="text/javascript" src="{% static 'js/bootstrap.min.js' %}"></script>
    </body>
</html>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

清泪尽 2025-02-17 10:28:33

使用 data-bs-toggle ='下拉',请参阅并确保对用户进行身份验证。

尝试此模板代码:

{% if user.is_authenticated %}
    <ul class="navbar-nav ms-auto">
        <li class="nav-item">
            <a class="nav-link dropdown-toggle" href="#" id="userMenu"
            data-bs-toggle="dropdown" aria-haspopup="true"
            aria-expanded="false">
            {{ user.username }}
            </a>
            <div class="dropdown-menu dropdown-menu-right"
                aria-labelledby="userMenu">
                <a class="dropdown-item"
                href="#">Upload</a>
                <div class="dropdown-divider"></div>
                <a class="dropdown-item" href="#">
                Log Out</a>
            </div>
        </li>
    </ul>
    
{% else %}
        <form class="form-inline ms-auto">
        <a href="#" class="btn btn-outline-secondary text-white">
        Log In</a>
        <a href="#" class="btn btn-primary ms-2 text-white">
        Sign up</a>
        </form>
{% endif %}

Use data-bs-toggle='dropdown', refer from boostrap 5.0 docs and make sure that the user is authenticated.

Try this template code:

{% if user.is_authenticated %}
    <ul class="navbar-nav ms-auto">
        <li class="nav-item">
            <a class="nav-link dropdown-toggle" href="#" id="userMenu"
            data-bs-toggle="dropdown" aria-haspopup="true"
            aria-expanded="false">
            {{ user.username }}
            </a>
            <div class="dropdown-menu dropdown-menu-right"
                aria-labelledby="userMenu">
                <a class="dropdown-item"
                href="#">Upload</a>
                <div class="dropdown-divider"></div>
                <a class="dropdown-item" href="#">
                Log Out</a>
            </div>
        </li>
    </ul>
    
{% else %}
        <form class="form-inline ms-auto">
        <a href="#" class="btn btn-outline-secondary text-white">
        Log In</a>
        <a href="#" class="btn btn-primary ms-2 text-white">
        Sign up</a>
        </form>
{% endif %}
情绪失控 2025-02-17 10:28:33

另外,请确保将Popper和Bootstrap的JS添加到您的头标签中,否则下拉菜式将无法使用!

<head>

<script src="https://cdn.jsdelivr.net/npm/@popperjs/[email protected]/dist/umd/popper.min.js" integrity="sha384-I7E8VVD/ismYTF4hNIPjVp/Zjvgyol6VFvRkX/vR+Vc4jQkC+hVqc2pM8ODewa9r" crossorigin="anonymous"></script>

<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.min.js" integrity="

</head>

Also be sure to add Popper and Bootstrap's JS to your head tags otherwise dropdowns won't work!

<head>

<script src="https://cdn.jsdelivr.net/npm/@popperjs/[email protected]/dist/umd/popper.min.js" integrity="sha384-I7E8VVD/ismYTF4hNIPjVp/Zjvgyol6VFvRkX/vR+Vc4jQkC+hVqc2pM8ODewa9r" crossorigin="anonymous"></script>

<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.min.js" integrity="

</head>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文