Django 2.0访问根路径出现404错误,请求代码排查帮助
问题分析与解决方案
咱们来一步步拆解你遇到的404问题:
核心问题1:根路径/无匹配规则
你访问的是http://localhost:8000/,但你的项目urls.py里只配置了admin/和bajki/两个前缀的URL,空路径/完全没有对应的映射规则,这就是根路径返回404的直接原因。
核心问题2:bajki应用的URL配置重复嵌套
你的项目urls.py已经给bajki应用加上了bajki/的前缀:
path('bajki/', include('bajki.urls')),
但在bajki/urls.py里又额外加了一层bajki/:
path('bajki/',views.lista_bajek, name='lista_bajek'),
这就导致lista_bajek视图的实际访问路径变成了http://localhost:8000/bajki/bajki/,完全不是你预期的路径。
针对性修复方案
方案一:让根路径/直接显示lista_bajek页面
修改项目根目录的urls.py,添加根路径的映射:
from django.contrib import admin from django.urls import path, include from bajki.views import lista_bajek # 导入目标视图 urlpatterns = [ path('admin/', admin.site.urls), path('bajki/', include('bajki.urls')), path('', lista_bajek, name='lista_bajek'), # 根路径指向视图 ]
修改后重启服务器,访问http://localhost:8000/就能直接看到你的空白模板页面了。
方案二:让/bajki/路径显示lista_bajek页面
修改bajki/urls.py,去掉重复的bajki/前缀,改成空字符串:
from django.urls import path from . import views urlpatterns = [ path('', views.lista_bajek, name='lista_bajek'), # 移除多余的bajki/前缀 ]
现在访问http://localhost:8000/bajki/就能正常加载页面了。如果需要同时让根路径也能访问,可结合方案一的配置。
验证一下:修改完成后重启Django开发服务器,访问对应的URL,就能看到你创建的空白模板页面了。
内容的提问来源于stack exchange,提问作者killerbees
相关产品推荐
相关产品推荐

