簡體   English   中英

bootstrap navbar下拉列表不顯示與Django

[英]bootstrap navbar dropdowns not showing with django

我正在嘗試將twitter-bootstrap添加到Django項目。 我有一個名為base.html的html文件,該文件充當其他html代碼的包裝文件,該文件位於HttpResponse發送回該文件之前。

base.html文件

{% load static %}

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <link href="{% static '/css/bootstrap.min.css' %}" rel="stylesheet">
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
    <script src = "{% static '/js/bootstrap.min.js' %}"></script>
    <title>TITLE</title>
</head>
<body>
    {% autoescape off %}{{ content }}{% endautoescape %}
</body>
</html>

該文件是唯一可以發送回Web站點訪問者的文件,因此我可以想象,如果我在base.html中添加文件bootstrap需要,它也可以在內容代碼中使用。 實際上,所有的CSS東西似乎都可以正常工作,但是每當我嘗試在網站的導航欄中打開下拉菜單時,它都不會顯示。

這是存在問題的頁面的源代碼:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <link href="/static/css/bootstrap.min.css" rel="stylesheet">
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
    <script src = "/static/js/bootstrap.min.js"></script>
    <title>TITLE</title>
</head>
<body>
    <nav class="navbar navbar-expand-lg navbar-light bg-light">
  <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="collapse navbar-collapse" id="navbarSupportedContent">
    <ul class="navbar-nav mr-auto">
      <li class="nav-item active">
        <a class="nav-link" href="?p=index">Home <span class="sr-only">(current)</span></a>
      </li>
      <li class="nav-item">
        <a class="nav-link disabled" href="?p=channel">testchannel</a>
      </li>
      <li class="nav-item">
        <a class="nav-link disabled" href="#">Disabled</a>
      </li>
    <form class="form-inline">
      <input class="form-control mr-sm-2" type="search" placeholder="Search" aria-label="Search">
      <button class="btn btn-outline-success my-2 my-sm-0" type="submit">Search</button>
    </form>
    <li class="nav-item dropdown">
        <a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
          Username
        </a>
        <div class="dropdown-menu" aria-labelledby="navbarDropdown">
          <a class="dropdown-item" href="?p=Channel">Visit Channel</a>
          <a class="dropdown-item disabled" href="#">Statistics</a>
          <div class="dropdown-divider"></div>
          <a class="dropdown-item disabled" href="#">Settings</a>
        </div>
      </li>
        </ul>
  </div>
</nav>
    <h1>A TEST HEADER</h1>

</body>
</html>

單擊"/static/css/bootstrap.min.css""/static/js/bootstrap.min.js"都將我重定向到文件(不會彈出404錯誤)。

導致導航欄無法工作的問題可能是什么? 我該如何解決?

編輯:

根據要求,處理靜態的settings.py部分:

# Build paths inside the project like this: os.path.join(BASE_DIR, ...)
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))

# some more stuff here like INSTALLED_APPS and TEMPLATES

STATICFILES_DIRS = (
    '/home/<name>/Desktop/django/myproject/Bootstrap',
)

STATIC_URL = '/static/'

請確保您在settings.py文件中包含了正確的靜態路徑。

我在我的一個項目中使用了類似以下內容的代碼,它工作正常。

BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
STATIC_URL = '/static/'

STATICFILES_DIRS = (
    os.path.join(BASE_DIR, "static"),
)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM