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),
]
。
<li class="nav-item"><a class="nav-link" href="/">home</a></li>
<li class="nav-item"><a class="nav-link" href="story/">our story</a></li>
<li class="nav-item"><a class="nav-link" href="haxs/">haxs</a></li>
<li class="nav-item"><a class="nav-link" href="contact/">contact us</a></li>
我正在python django网站上工作,我的网址无法正常工作。我包括了我的urls.py和每个页面上相同的导航链接。从家里我可以转到所有其他页面,从其他页面我可以回到家里。
我的问题是,例如,当我离开时:不能联系它的胡克斯,并且代码URL应该只是“ http://127.0.0.1:8000/haxs/story/”时变成“ http://127.0.0.1:8000/story/”。就像我们的故事/方式/联系方式一样,我无法在它们之间切换页面。我该如何解决?
答案 0 :(得分:3)
您只需在URL前面加上/
即可解决该问题:
<li class="nav-item"><a class="nav-link" href="/story/">our story</a></li>
但是最好使用Django的named url feature:
<li class="nav-item"><a class="nav-link" href="{% url 'story' %}">our story</a></li>
答案 1 :(得分:2)
除了@neverwalkaloner答案外,我建议向您的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>
希望这会有所帮助!
答案 2 :(得分:1)
只需更改 hrefs 以与服务器相关联,如下所示:
<a href={℅ url 'name of urls defined' ℅}>pagename</a>
{℅ url 'urls' ℅} 是 django url 变量,用于定义应用程序 url!