我是Python编程新手,我创建了一个学习项目。我创建了三个 html 页面,当我单击其他页面链接时,它显示错误找不到页面,因为 url 显示上一页链接和当前页面链接(我不知道如何解释我的问题)
例如
我有两页索引,主页
如果我在索引页面上(索引页面的网址是“http://127.0.0.1:8000/index/”)并且想要转到主页,当我单击主页链接时,它会显示错误,因为主页的网址是“http://127.0.0.1:8000/index/home/”,我想要这样的主页网址“http://127.0.0.1:8000/home/”。当我想从主页转到索引页但当我手动编写时,页面会正确打开
我的代码
index.html 和 home.html 链接的参考代码
<a class="collapse-item" href="home">Home Page</a>
<a class="collapse-item" href="index">Index Page</a>
视图.py
from django.shortcuts import render
from django.http import HttpResponse
def index_view(request):
return render(request, "index.html")
def home_view(request):
return render(request, "home.html")
应用程序/urls.py
from django.urls import path
from . import views
urlpatterns= [
path('index/', views.index_view),
path('home/', views.home_view),
项目/urls.py
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path('admin/', admin.site.urls),
path('', include("app.urls")),
]
从django-doc,您可以使用django的
url
标签,要使用url标签,您必须在path
文件中的urls.py
函数中给出名称。
试试这个:
应用程序/urls.py
from django.urls import path
from . import views
urlpatterns= [
path('index/', views.index_view,name='index'),
path('home/', views.home_view,name='home')
]
在您的
template
文件中,您可以按以下方式使用:
<a class="collapse-item" href="{% url 'home' %}">Home Page</a>
<a class="collapse-item" href="{% url 'index' %}">Index Page</a>
基于函数的视图,例如您定义的Note:
和index_view
,不需要home_view
后缀。只有基于类的视图需要view
后缀。所以,如果你使用view
和index
会更好。home
拜托,我已经完成了所有必需的操作,但我仍然遇到问题,因为当我单击“关于”按钮时,它不会将我带到该页面,但我可以通过浏览器访问该页面。我该怎么办?