1 つのページに、さまざまな効果を得るために送信できる複数のフォーム (さまざまなタグ) がある Django プロジェクトがあります。すべての場合において、ユーザーを同じページにリダイレクトする必要があるため、ビューでフォームを送信してから元のページにリダイレクトするパターンを使用します。少なくとも 1 つのケースでは、2 つのフォームの唯一の違いは送信ボタンの値です。
私の見解では、コードがあります(私のビュー関数がにアクセスするのはこれが初めてですrequest.POST
):
if request.POST['submit']=='Add':
#code to deal with the "Add" form
テンプレートでは、最初のフォームに次のような送信ボタンがあります
<input type="submit" value="Add">
これでうまくいくと思いましたが、そのフォームを送信すると、上から見た行でエラーが発生します。
キー「送信」が見つかりません
<QueryDict: {u'clientyear': [u'2012'], u'csrfmiddlewaretoken': [u'be1f2f051f09f6ab0375fdf76cf6a4d7'], u'ben': [u'123405']}>
'submit'
明らかに、これには、クリックした送信ボタンに対応する値を持つキーまたはキーがありません。では、これは機能しないため、送信ボタンの値にアクセスしたり、どのフォームが送信されたかを確認したりするにはどうすればよいでしょうか?