0

django フォームに' ' というフィールドapprovedamountがあり、ブラウザーに入力されていますが、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'']}

ただし、request.POST['approvedamount']またはrequest.POST.get('approvedamount')ヌル文字列が返される場合

また、入力ボックスの値が設定されていることをクロムデバッグツールで確認しましたが、何らかの理由でDjangoへのポストバックを通過していません。

4

2 に答える 2

3

QueryDictには多くの値が2回設定されているため、フォームに問題があるようです。u'approvedamount': [u'5000', u'']u'authorizedamountに2つの値があり、2番目の値が空であることを示しています。デフォルトでは、QueryDictget()は後者を提供しますが、これは空です。

フォームを修正する必要がありますが、送信された最初の値を使用する場合は、次を使用できますgetlist

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