如何解决Django访问/products路径时出现的404 Page not found错误
Django 404报错解决方法
核心错误原因
- 项目主路由
myshop/urls.py中urlpatterns格式错误:你使用了大括号{}定义字典结构,而Django要求路由配置必须是方括号[]定义的列表结构,这直接导致products/前缀的路由规则没有被正确加载,所以报错中只能看到admin/一条可用路由。 - 你访问的地址是
http://127.0.0.1:8000/products(无末尾斜杠),但路由配置的前缀是products/(带末尾斜杠),不符合路由匹配规则。
修复步骤
- 修改
myshop/urls.py代码,将urlpatterns从字典改为列表:
from django.contrib import admin from django.urls import path, include urlpatterns = [ path('admin/', admin.site.urls), path('products/', include('products.urls')) ]
- 保存代码后重启Django服务,按以下规则访问:
- 访问
http://127.0.0.1:8000/products/会触发index视图,返回Hello world - 访问
http://127.0.0.1:8000/products/new会触发new视图,返回New Products
内容的提问来源于stack exchange,提问作者Brian Kinds
相关产品推荐
相关产品推荐

