Django项目添加products/new/路径出现404页面未找到问题求助
解决Django中/products/new/路径404错误的方案
你遇到的问题是URL模式匹配的细节差异导致的——你的请求URL是http://127.0.0.1:8000/products/new/(末尾带有斜杠),但products.urls.py里定义的路径是'new'(没有末尾斜杠),而Django的path()方法是精确匹配的,两者无法对应,因此抛出404错误。
快速修复步骤
只需修改products.urls.py中的URL模式,给new路径加上末尾斜杠即可:
# products.urls.py from django.urls import path from . import views urlpatterns = [ path('', views.index), path('new/', views.new) # 为路径添加末尾斜杠 ]
修改后重启Django开发服务器,再次访问http://127.0.0.1:8000/products/new/,就能正常看到New Products!!!!!!!!!!!!!的响应内容了。
补充说明
Django默认开启APPEND_SLASH配置(默认值为True),当请求的URL不带末尾斜杠时,会自动重定向到带斜杠的版本;但如果你的URL模式未设置斜杠,而请求带了斜杠,就无法完成匹配。遵循Django的惯例,在定义URL模式时添加末尾斜杠是更稳妥的做法。
另外可以确认一下products应用已添加到项目的INSTALLED_APPS中(从你提供的apps.py来看配置正确,只需确保settings.py的INSTALLED_APPS列表包含'products'即可)。
内容的提问来源于stack exchange,提问作者Piyush Jangid
相关产品推荐
相关产品推荐

