为什么Django显示这种错误以及如何解决?

时间:2019-10-13 18:19:30

标签: python django django-templates django-views

urls.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'),

]

views.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

2 个答案:

答案 0 :(得分:2)

那是因为您/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将在您的网址末尾添加斜杠,因此domain.com/blog和其他末尾没有斜杠的路径也可以正常使用< / p>

答案 1 :(得分:0)

正如我看到的那样(博客),您没有添加最后一个/
一种解决方法是

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/约
没有最后一个/

相关问题