当前位置: 代码迷 >> JavaScript >> 无法在django中加载bootstrap导航栏(可能是明显的解决方案)
  详细解决方案

无法在django中加载bootstrap导航栏(可能是明显的解决方案)

热度:30   发布时间:2023-06-05 09:29:18.0

我的主页上的导航栏没有单击,打开和dsiplay链接。 我知道我需要提取javascript代码才能执行此操作。 这是图片。 无法单击和打开这三行。

这是单击这三行时应该发生的情况。

我已经完成了stackoverflow中的所有问题,但仍然无法加载它。 我试图上传引导程序CDN,保存javascript并通过静态文件加载它,尝试了不同的javascript文件,它没有让导航栏工作。 我可能上传了错误的文件。 CSS文件确实加载,因此一些静态文件会加载。

这是html文件。

{% load staticfiles %}


<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
    <meta name="description" content="">
    <meta name="author" content="">
    <link rel="icon" href="../../favicon.ico">

    <title>Album example for Bootstrap</title>
     <link  href="{% static 'css/album.min.css' %}" rel="stylesheet">

    <!-- Custom styles for this template -->
    <link  href="{% static 'css/album.css' %}" rel="stylesheet">

    <!-- jQuery (necessary for Bootstrap's JavaScript plugins)-->
<script href="{% static 'js/jquery.js' %}" ></script>  <!--jquery-->

<!-- <script href = "{% static 'js/collapse.js' %}"></script>

<script href = "{% static 'js/dropdown.js' %}"></script> -->

  </head>

  <body>

    <div class="collapse bg-inverse" id="navbarHeader">
      <div class="container">
        <div class="row">
          <div class="col-sm-8 py-4">
            <h4 class="text-white">
            <li><a href="{% url 'about' %}">About</a></li>
          </h4>
            <p class="text-muted">About us.</p>
          </div>
          <div class="col-sm-4 py-4">
            <h4 class="text-white">Contact</h4>
            <ul class="list-unstyled">
              <li><a href="{% url 'contact' %}" class="text-white">Contact us</a></li>
              <li><a href="#" class="text-white">Like on Facebook</a></li>
              <li><a href="#" class="text-white">Follow on Twitter</a></li>
            </ul>
          </div>
        </div>
      </div>
    </div>
    <div class="navbar navbar-inverse bg-inverse">
      <div class="container d-flex justify-content-between">
        <a href="#" class="navbar-brand">MedTrend</a>
        <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarHeader" aria-controls="navbarHeader" aria-expanded="false" aria-label="Toggle navigation">
          <span class="navbar-toggler-icon"></span>
        </button>
      </div>
    </div>

这是我的设置文件。

STATIC_URL = '/static/'

STATICFILES_DIRS = (
    os.path.join(os.path.abspath(os.path.dirname(__file__)), "static",),
)
  • 如果您正在使用Django 2.0并且您的静态设置正在运行,那么您需要使用{% load static %}而不是{% load staticfiles %}

  • 如果您需要参考,那么这里是静态文件的工作示例:

project/settings.py

STATIC_URL = '/static/'

STATICFILES_DIRS = [
         os.path.join(BASE_DIR, 'static'),
]

在这里,我的项目根目录中有一个名为'static'的文件夹,其中包含'css','js'等文件夹。您还需要在urls.py中设置它,以便模板可以访问它。 所以我会这样做:

project/urls.py

from django.contrib import admin
from django.urls import path
from django.conf.urls.static import static        #---imports
from django.conf import settings                  #---imports

urlpatterns = [

    path('', user_login),
    path('admin/', admin.site.urls), 
] 

urlpatterns += staticfiles_urlpatterns()       # <------- Add this

然后在HTML页面的顶部导入静态文件

{% load static from staticfiles %}          #<-----this

<link rel="stylesheet" href="{% static 'css/bootstrap.min.css'%}">
<link rel="stylesheet" href="{% static 'css/style.css'%}">

更新

您忘记在static / js中添加bootstrap.bundle.js ,然后在base_generic.html添加以下内容:

<script src="{% static 'js/b.b.js' %}"></script>
  相关解决方案