問題
よく何かの登録画面の「送信」や「登録」などで使うsubmitボタンだが、「承認」と「非承認」のように複数のsubmitボタンを用意して処理をかき分ける時はどうすればいいのか。
結論
nameタグで区別するだけ。
実装
typeタグに加えてnameタグを一意に設定
テンプレートファイル
<form method="post">
{% csrf_token %}
<button type="submit" name="reject">非承認</button>
<button type="submit" name="approve">承認</button>
</form>
nameタグ別に処理を記入
views.py
def post(self, request, id):
if "approve" in request.POST:
# 承認時の処理
elif "reject" in request.POST:
# 非承認時の処理