pythonDjango的url不能正常工作吗?

2024-06-16 10:33:31 发布

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

from django.contrib import admin
from django.urls import path

import main.views
urlpatterns = [
    path('', main.views.index, name="index"),
    path('story/', main.views.story, name="story"),
    path('haxs/', main.views.haxs, name="haxs"),
    path('contact/', main.views.contact, name="contact"),
    path('admin/', admin.site.urls),
]

一。在

^{pr2}$

我正在一个pythondjango网站上工作,我的url不能正常工作。我把我的网址.py以及每一页上相同的导航链接。在家里我可以转到所有其他页面,从其他页面我可以返回主页。在

我的问题是,当我从haxs到contact它不工作时,代码url变成“http://127.0.0.1:8000/haxs/story/”,而它应该是“http://127.0.0.1:8000/story/”。就像我们的故事/haxs/contact,我无法在它们之间切换。我怎么解决这个问题?在


Tags: pathdjangonamefromimporturlindexadmin
2条回答

添加到@neverwaltoner答案,我建议您在url中添加一个名称空间。它有助于易读性,因为你可以准确地识别从哪个应用程序调用该url。在

我假设你的应用程序名是main。在

from django.contrib import admin
from django.urls import path

import main.views

    app_name = 'main' 
    urlpatterns = [
        path('', main.views.index, name="index"),
        path('story/', main.views.story, name="story"),
        path('haxs/', main.views.haxs, name="haxs"),
        path('contact/', main.views.contact, name="contact"),
        path('admin/', admin.site.urls),
    ]

    <li class="nav-item"><a class="nav-link" href="{% url 'main:story' %}">our story</a></li>

希望这有帮助!在

您只需在url前面加上/即可修复:

<li class="nav-item"><a class="nav-link" href="/story/">our story</a></li>

但最好使用Django的named url feature

^{pr2}$

相关问题 更多 >