找不到页面(404)请求方法:GET请求URL:http://127.0.0.1:8000/catalog/

时间:2020-05-01 00:24:33

标签: python django

每当我运行项目并自动将catalog /添加到url时,都会出现以下错误:


找不到页面(404) 请求方法:GET 要求网址:http://127.0.0.1:8000/catalog/ Django使用first_project.urls中定义的URLconf,按以下顺序尝试了以下URL模式:

[name ='index'] 管理员/ first_app / 当前路径catalog /与任何这些都不匹配。

您看到此错误,因为Django设置文件中的DEBUG = True。将其更改为False,Django将显示标准的404页面。


这是我的项目urls.py

from django.contrib import admin
from django.urls import path, include
from first_app import views

urlpatterns = [
    path('', views.index, name='index'),
    path('admin/', admin.site.urls),
    path('first_app/', include('first_app.urls')),

]

这是first_app urls.py代码:

from django.urls import path
from first_app import views

urlpatterns = [
    path('', views.index, name='index'),
]

如何将索引页作为默认页并摆脱目录。

这是views.py文件:

from django.shortcuts import render
from django.http import HttpResponse
from first_app.models import Topic, AccessRecord, Webpage

# Create your views here.

def index(request):
    webpages_list = AccessRecord.objects.order_by('date')
    date_dict = {'access_records': webpages_list}
    return render(request, 'first_app/index.html', context=date_dict)

2 个答案:

答案 0 :(得分:0)

     from django.contrib import admin
     from django.urls import path, include
     from first_app import views
     urlpatterns = [
     path('admin/', admin.site.urls),
     path('first_app/', include('first_app.urls')),] 

   and

   from django.urls import path
   from first_app import views
   urlpatterns = [
    path('', views.index, name='index'),
   ]


    >>>>> if your templates files :
    templates/index.html



    def index(request):
    webpages_list = AccessRecord.objects.order_by('date')
    date_dict = {'access_records': webpages_list}
    return render(request, 'index.html', context=date_dict)

答案 1 :(得分:0)

嘿,麦先生在您的代码中没有提及与/ catalog /相关的任何网址,因此您收到了404错误消息。错误404表示服务器找不到的页面在您的网址模式中添加/ catalog /,这样如果请求/ catalog /则服务器可以知道要显示哪个页面。并根据您的问题“并自动将catalog /添加到url:”可能是您的浏览器自动填写地址字段,因此请检查一下它。如果请求仅是/ catalog,则您的myproject urls.py文件应该是这样的

from django.contrib import admin
from django.urls import path, include
from first_app import views

urlpatterns = [
    path('', views.index, name='index'),
    path('admin/', admin.site.urls),
    path('first_app/', include('first_app.urls')),
    path('catalog',views.your_function_name)
]

如果请求是first_app / catalog,则您的first_app urls.py文件在url模式中应该是这样的


urlpatterns = [
    path('/catalog', views.catalog, name='catalog'),
]