Django路径不起作用,它将我指向错误的网站

2024-09-30 03:23:27 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在建立我的第一个网站,我被卡住了,因为网站的路径是错误的。 例如: 当我单击导航栏上的“搜索”时,我想转到“/Search”(搜索作为块添加到base.html中)。当我在“/搜索”中并单击导航栏上的“注册”时,我想进入“/注册”(注册也是一个块)。问题是,当我从“/search”中单击“register”时,它会将我指向不存在的“/search/register”。从任何一个页面进入家庭作业

我的网址:

from django.contrib import admin

from django.urls import path, include

from users import views as users_views 

from polls import views as polls_views

urlpatterns = [
    #path('', include('polls.urls')), 

    path('', polls_views.home, name='home'),

    path('ListSearch/', polls_views.ListSearch, name='ListSearch'),

    path('register/', users_views.register, name='register'), 

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

我的导航栏:

<nav>
  <div class="nav-wrapper" style="background-color:#174c9c;">
     <div class="container">
        <a href="/" class="brand-logo">ShoppingList</a>
        <ul class="right hide-on-med-and-down">
          <li><a href="ListSearch">Search for list </a></li>
          <li><a href="/">Log in</a></li>
          <li><a href="register">Register</a></li>
        </ul>
      </div>
  </div>
</nav>

如果我将上面的“register/”更改为“register”,并对“ListSearch”执行相同的操作,则会得到404: 404 on site: (它查找“register/”但只查找“register/”


Tags: pathnamefromimportdivregisteradminli
3条回答

在django模板中,必须使用以下命令指定路径:

<a href = "{% url 'name_of_path' parameter %}">Link</a>

“路径的名称”是URL.py中给出的名称。 如果URL需要任何参数,则必须指定该参数

我认为你只是错过了你的网址上的斜杠。而不是

<li><a href="register">Register</a></li>

使用

<li><a href="/register">Register</a></li>

(请参见href属性中的差异?)

您必须添加标记,而不是直接字符串 <li><a href="{% url 'register' %}">Register</a></li>

相关问题 更多 >

    热门问题