Django跨应用重定向报错:Reverse for 'index' not found问题求助
问题解决方法
你的报错核心是重定向时用错了目标标识,问题出在这行代码:
return redirect('cricprofile:index.html')
错误原因:
- Django的
redirect()函数需要传入路由的名称(即urls.py里name参数的值),而不是HTML模板的文件名 - 你的app1(命名空间为
cricprofile)里没有叫index的路由,首页路由的name是home
修复代码:
将app2 views.py中的重定向代码修改为:
return redirect('cricprofile:home')
补充说明:
跨应用重定向的正确格式是[应用命名空间]:[路由名称],对应你代码里的:
- 应用命名空间:
app_name = 'cricprofile'(来自app1的urls.py) - 目标路由名称:
name="home"(来自app1里首页的路由定义)
这样Django就能正确定位到目标路由,完成跨应用重定向。
内容的提问来源于stack exchange,提问作者Harish V
相关产品推荐
相关产品推荐

