簡體   English   中英

<a>標簽中的href在內部不起作用</a><li> <a>DJANGO</a></li>

[英]href in <a> tag not working inside <li> DJANGO

li 內部標簽中的 href 不起作用。 它不會將我重定向到 /sub1/。 這是我的代碼:

 body, html { margin: 0; font-family: Arial, sans-serif; font-size: 1em; }.navbar { width: 100%; background-color: #4682B4; height: 80px; color: #fff; }.navbar.nav { margin: 0; padding: 0; float: left; list-style-type: none; }.navbar.nav li.nav-item { float: left; margin: 0 95px; }.navbar.nav li.nav-item>a { display: inline-block; padding: 15px 20px; height: 50px; line-height: 50px; color: #fff; text-decoration: none; }.navbar.nav li.nav-item>a:hover { background-color: #B0C4DE; }.dropdown a:focus { background-color: #B0C4DE; }.dropdown a:focus~.dropdown-container { max-height: 500px; transition: max-height 0.5s ease-in; -webkit-transition: max-height 0.5s ease-in; -moz-transition: max-height 0.5s ease-in; }.dropdown-container { position: absolute; top: 80px; max-height: 0; overflow: hidden; background: #4682B4; color: #B0C4DE; }.dropdown-container a { color: #fff; text-decoration: none; }.dropdown-menu { margin: 0; padding: 0; list-style-type: none; }.dropdown-menu li a { display: inline-block; min-width: 250px; padding: 15px 20px; border-bottom: 1px solid #333; }.dropdown-menu li a:hover { text-decoration: none; background: #B0C4DE; }
 <body> <nav class="navbar"> <ul class="nav" id="primary-nav"> <li class="nav-item"><a href="/index/">Home</a></li> <li class="nav-item dropdown"> <a href="#">Servicios</a> <div class="dropdown-container"> <div class="dropdown-inner"> <ul class="dropdown-menu"> <li class="dropdown-menu-item"><a href="{% url 'Datos:sub1' %}">Submenu 1</a></li> <li class="dropdown-menu-item"><a href="#">Submenu2</a></li> </ul> </div> </div> </li> <li class="nav-item"><a href="">Agenda</a></li> <li class="nav-item"><a href="">¿Quiénes somos?</a></li> <li class="nav-item"><a href="/contact/">Contacto</a></li> </ul> </nav> </body>

網址.py

from django.urls import path, re_path
from Applications.Datos import views

app_name = "Datos"

urlpatterns = [
    re_path('^sub1/', views.Datos, name='sub1'),
    path('search/', views.buscar),
]

視圖.py

from django.shortcuts import render
from django.http import request

# Create your views here.
def Datos(request):
    return render(request, template_name='datos.html')

aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

您沒有使用正確的語法。

<a href="{% url '<app_name>:<view_name>' %}"></a>

其中 <view_name> 是您在 urls.py 中為制作模板的應用程序提供的視圖名稱。 像這兒:

from django.urls import path, re_path
from home import views

app_name = "home"
urlpatterns = [
    path('', views.home_view, name='productsPage'),
    re_path('^wishlist/', views.wishlist_view, name='wishlistPage'),
]

視圖的名稱是wishlistPage並且 app 是home所以你寫了一個鏈接到那個頁面重定向:

<a href="{% url 'home:wishlistPage' %}"></a>

更新

sub1是您想要訪問<youwebsite>/sub1時該應用程序的主視圖的路徑。 在這種情況下,此應用程序的 urls.py 不正確。 編輯這個urls.py是這樣的:

from django.urls import path, re_path
from Applications.Datos import views

app_name = "Datos"

urlpatterns = [
    re_path('', views.Datos, name='sub1'),  # UPDATE: LET IT BE BLANK
    path('search/', views.buscar),
]

並將您的主要urls.py更新為 b ,如下所示:

urlpatterns = [
    [...your other urls...],
    re_path(r'^sub1/', include(('Datos.urls', 'Datos'), namespace='Datos')),
]

暫無
暫無

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

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