You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Django表单插入数据遇NoReverseMatch错误:无法找到'NewVid'路由求助

解决Django的NoReverseMatch错误(找不到'NewVid'视图)

嘿,我一眼就看到问题所在啦!你遇到的NoReverseMatch错误,核心原因是URL命名空间没匹配上,另外视图里还有个小细节需要调整,咱们一步步来:

1. 修复URL命名空间问题

你的URL配置里明确设置了app_name = 'vinesF',这相当于给这个app的URL加了一个专属命名空间。但模板里的{% url 'NewVid' %}没有指定这个命名空间,Django自然找不到对应的视图路径。

修改模板里的form action代码:

<form method="post" action="{% url 'vinesF:NewVid' %}" >

这里的vinesF:就是你定义的命名空间,加上之后Django就能精准定位到对应的URL了。

2. 修正视图里的上下文字典错误

你的视图里有两处render语句写错了上下文格式:

return render(request,'vine/Newvid.html', {form:'form'})

这里的字典键值写反了,应该是{'form': form},不然模板里的{{ form }}会拿到字符串'form',而不是实际的表单对象。修改后:

return render(request,'vine/Newvid.html', {'form': form})

两处都要改哦(POST请求里form无效的分支,还有GET请求的分支)。

3. 额外小提示

你的URL正则r'^NewVid$'可以考虑加上斜杠(比如r'^NewVid/$'),符合Django的URL规范,避免用户访问时出现301重定向的问题。

做完这些修改后,重启一下Django开发服务器,再试试提交表单,应该就能正常工作啦!

内容的提问来源于stack exchange,提问作者ORC-1

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 06:42:04