为什么Django会显示这种错误,以及如何修复它?

2024-06-26 13:49:46 发布

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

网址.py

from django.urls import path from.import views 

urlpatterns = [
    path('', views.index, name='index'),
    path('about', views.about, name='about'),
    path('ourwork', views.ourwork, name='ourwork'),
    path('portfolio', views.portfolio, name='portfolio'),
    path('blog', views.blog, name='blog'),
    path('careers', views.careers, name='careers'),
    path('contact', views.contact, name='contact'),

]

视图.py

from django.shortcuts import render
# Create your views here.


def index(request):
    return render(request,'artsoft/index.html')

def about(request):
    return render(request,'artsoft/about.html')

def ourwork(request):
    return render(request,'artsoft/ourwork.html')

def portfolio(request):
    return render(request,'artsoft/portfolio.html')

def blog(request):
    return render(request,'artsoft/blog.html')

def careers(request):
    return render(request,'artsoft/careers.html')

def contact(request):
    return render(request,'artsoft/contact.html') ` 

屏幕截图

The Error page

但当我点击博客这是工作

Blog page

views.py

urls.py

directories of files


Tags: pathnamereturnrequestdefhtmlcontactblog
2条回答

我可以看到它的工作原理(blog),您没有添加最后一个/
一个解决办法是

from django.urls import path from.import views 

urlpatterns = [
    path('/', views.index, name='index'),
    path('about/', views.about, name='about'),
    path('ourwork/', views.ourwork, name='ourwork'),
    path('portfolio/', views.portfolio, name='portfolio'),
    path('blog/', views.blog, name='blog'),
    path('careers/', views.careers, name='careers'),
    path('contact/', views.contact, name='contact'),

]

或者在导航器里
127.0.0.1:8000/博客
127.0.0.1:8000/触点
127.0.0.1:8000/约
没有最后的/

因为你/about/结尾有一个斜杠,而/blog没有。你可以这样说:

    path('', views.index, name='index'),
    path('about/', views.about, name='about'),
    path('ourwork/', views.ourwork, name='ourwork'),
    path('portfolio/', views.portfolio, name='portfolio'),
    path('blog/', views.blog, name='blog'),
    path('careers/', views.careers, name='careers'),
    path('contact/', views.contact, name='contact'),

默认情况下,Django有APPEND_SLASH=True,使用此设置,Django将在url的末尾添加一个斜杠,因此domain.com/blog和其他结尾没有斜杠的路径也正常工作

相关问题 更多 >