Django点击投票按钮报错:'WSGIRequest'对象无属性'Post'如何解决
问题解决方案
这个错误由大小写拼写错误导致,Python语言区分大小写,Django的WSGIRequest对象存储POST表单提交数据的属性为全大写的POST,你视图代码中使用的request.Post不符合命名规范,因此抛出属性不存在的异常。
修复步骤
- 打开polls应用的视图文件,找到vote函数的第4行代码
- 将代码中的
request.Post['choice']修改为request.POST['choice'] - 重启Django服务后重新测试投票功能即可正常运行
补充说明
- 你提交的前端模板代码配置完全正确,表单
method属性、csrf_token防护、单选框的name属性设置都符合要求,不需要调整 - 注意Django的请求对象中,和请求参数相关的属性均为全大写命名,后续使用
request.GET、request.FILES等属性时也要注意全大写的书写规范
内容的提问来源于stack exchange,提问作者Virat
相关产品推荐
相关产品推荐

