Django表单提交后重定向至同一页面的问题求助(多图片上传场景)
解决Django中NoReverseMatch找不到'index'的问题
看起来你遇到的问题核心是Django无法解析fileapp:index这个命名空间URL,原因很简单——你的应用myfileapp的urls配置里,没有给index视图设置对应的name属性,导致反向解析失败。
第一步:完善myfileapp/urls.py
你没提供这个文件的代码,但这是问题的关键。创建或者修改这个文件,确保每个视图路径都设置了正确的name,并且和你在模板、视图里调用的命名空间对应:
from django.urls import path from . import views urlpatterns = [ # 给index视图设置name='index',对应你redirect里的fileapp:index path('', views.index, name='index'), # 对应模板里的{% url 'fileapp:uploads' %},设置name='uploads' path('upload/', views.send_files, name='uploads'), ]
第二步:验证现有代码的对应关系
- 你的模板里用了
{% url 'fileapp:uploads' %},这个对应上面urls里的name='uploads',完全匹配。 - 视图里的
return redirect("fileapp:index"),现在也能正确匹配到urls里name='index'的路径了。
额外检查点(可选)
确保你的myfileapp已经在项目根目录的settings.py的INSTALLED_APPS里注册了(既然上传功能能工作,大概率已经注册,但还是确认下更稳妥):
INSTALLED_APPS = [ # 其他默认应用 'myfileapp', ]
这样修改后,当你提交表单时,Django就能正确找到fileapp:index的URL,顺利重定向回包含表单和已上传图片的页面了。
内容的提问来源于stack exchange,提问作者Roshan Shrivastava
相关产品推荐
相关产品推荐

