0

approvedamount在 django 表单中有一个名为“”的字段,该字段正在浏览器中填充,但在 request.POST 值中没有出现。

如果您在 Post 时查看请求变量的 QueryDict,它会显示该值存在 (5000) - 例如:

QueryDict: QueryDict: {u'csrfmiddlewaretoken': [u'bec667f48284f2478fa91bd54c2ca706',      u'bec667f48284f2478fa91bd54c2ca706'], u'approve': [u'approved', u'approved'], u'submit_approval_update_15884': [u'Update'], u'declinecode': [u'Please Select', u'Please Select'], u'approvedamount': [u'5000', u'']}

但是,如果您执行 arequest.POST['approvedamount']request.POST.get('approvedamount')返回 null 字符串

我还在 chrome 调试工具中验证了输入框的值已设置,但由于某种原因,它在回发到 Django 时没有通过。

4

2 回答 2

3

您的表单似乎有问题,因为许多值在 QueryDict 中设置了两次。u'approvedamount': [u'5000', u'']显示您有两个 u'approvedamount 值,第二个为空。默认情况下,QueryDictget()为您提供后一个,它是空的。

您可能应该修复您的表单,但如果您想使用第一个提交的值,您可以使用getlist

request.POST.getlist('approvedamount')[0]
于 2012-05-16T22:04:51.107 回答
0

如果表单是从模板构建的,那么您approvedamount应该包含该name属性。它应该是这样的:

  • <input class="form-field" name="approvedamount">
于 2017-06-23T21:39:13.990 回答