Django配置路径跳转app urls文件时出现404页面找不到错误如何解决
问题原因排查
include语法使用错误(最常见原因)
Django 2.0及以上版本中,如果要在include()中指定namespace参数,传入的第一个参数必须是(应用urls模块名, 应用名)的元组格式,你当前的写法缺少了应用名标识,正确的项目urls.py中basket路由配置应该修改为:path('basket/', include(('basket.urls', 'basket'), namespace='basket')),如果你已经在basket应用的urls.py中声明了
app_name = 'basket',也可以直接省略namespace参数,简化为:path('basket/', include('basket.urls')),访问路径拼写错误
按照现有配置,basket汇总页的实际访问路径是/basket/,注意末尾的斜杠不能遗漏,Django默认开启APPEND_SLASH配置,访问/basket(无末尾斜杠)会自动301跳转到/basket/,如果该配置被手动关闭,访问无斜杠路径就会直接返回404。模板文件路径错误
视图中引用的模板路径是store/basket/summary.html,需要确认该模板文件确实存在于对应app的templates目录下,或者全局templates目录的对应路径中,部分调试场景下模板不存在的报错会和路由404混淆,建议查看DEBUG页面的具体错误详情确认。应用未注册
需要确认basket应用已经添加到项目settings.py的INSTALLED_APPS列表中,未注册的应用Django不会加载其路由、模板等资源。
内容的提问来源于stack exchange,提问作者johnathan wilpharma
相关产品推荐
相关产品推荐

