【问题标题】:Bootstrap nav-brand disappears once navigating to a page other than indexBootstrap nav-brand 一旦导航到索引以外的页面就会消失
【发布时间】:2021-11-01 04:02:38
【问题描述】:

我是 Python、Django 和 Bootstrap 的新手,我想知道为什么导航到另一个页面或查看索引以外的视图时导航品牌会消失。在我的例子中,导航品牌是一个图像源,下面是我的 base.html 的以下代码:

<body>
    <nav class="navbar navbar-expand-lg navbar-light bg-light p-md-3">
        <div class="container-fluid">
            <a class="navbar-brand" href="{% url 'index' %}">
                <img src="static/images/logo150x63_2_2DP.png" alt="">
            </a>
            <button class="navbar-toggler" 
                    type="button" 
                    data-bs-toggle="collapse" 
                    data-bs-target="#navbarText" 
                    aria-controls="navbarText" 
                    aria-expanded="false" 
                    aria-label="Toggle navigation">
                <span class="navbar-toggler-icon"></span>
             </button>

      <div class="collapse navbar-collapse" id="navbarText">
          <div class="mx-auto">

          </div>
          <ul class="navbar-nav me-auto mb-2 mb-lg-0">
              <li class="nav-item">
                  <a class="nav-link active" aria-current="page" href="{% url 'index' %}">Home</a>
              </li>
              <li class="nav-item">
                  <a class="nav-link" href="{% url 'basic_portfolio:uniprojects' %}">University Projects</a>
              </li>
              <li class="nav-item">
                  <a class="nav-link" href="{% url 'basic_portfolio:contact' %}">Contact</a>
              </li>
          </ul>
      </div>
    </div>
  </nav>
{% block content %}

{% endblock %}

以下是我的views.py文件:

from django.shortcuts import render

def index(request):
    return render(request, 'basic_portfolio/index.html')

def uniprojects(request):
    return render(request, 'basic_portfolio/uniprojects.html')

def contact(request):
    return render(request, 'basic_portfolio/contact.html')

我的项目 urls.py 文件:

from django.contrib import admin
from django.urls import path, include
from basic_portfolio import views

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', views.index, name='index'),
    path('projects/', include('basic_portfolio.urls')),
]

我的应用程序 urls.py 文件:

from django.urls import path, include
from basic_portfolio import views

app_name = 'basic_portfolio'

urlpatterns = [
    path('university_projects/', views.uniprojects, name='uniprojects'),
    path('contact/', views.contact, name='contact'),
]

【问题讨论】:

    标签: html django django-templates nav bootstrap-5


    【解决方案1】:

    您的图片使用的是相对于当前页面的 URL。当您导航到另一个页面时,由于路径已更改,因此无法找到它。

    您需要为图像提供绝对 URL,或者通过添加前面的 "/" 使其相对于站点根目录。

    <img src="/static/images/logo150x63_2_2DP.png" alt="">
    

    Here is a good answer explaining the differences

    【讨论】:

      猜你喜欢
      • 2021-06-05
      • 2015-11-14
      • 1970-01-01
      • 2012-06-04
      • 1970-01-01
      • 2018-08-09
      • 1970-01-01
      • 2016-07-30
      • 1970-01-01
      相关资源
      最近更新 更多