2番目のサブミット重複要求を処理する方法サーバーの遅れのために最初のサブミットがまだ完了していないときに、ユーザーがページをリフレッシュしようとした場合。Djangoで重複したフォームの提出を処理する方法は?
- 複数の送信を避けるためにクライアント側の送信を無効にするボタン。
- とは扱わポスト/リダイレクト/フォーム後のパターンが成功ビュー私は両方がうまく処理されていると信じて
にリダイレクト提出取得します。
class SomeView(View):
def post(self, request, *args, **kwargs):
if form.is_valid()
if request_exists(request):
# here I can raise the exception also
# But How I redirect the customer to sucess page
# If 1st submission got success response.
else:
# here I have called internal api to get/post some data.
# user refreshes before this call has completed.
...
# once getting respose its ALWAYS redirect to new page
return HttpResponseRedirect('/thanks/')
しかし、ケースを処理する方法API呼び出しからの応答を取得することからの遅延。最初の提出が完了するまで延期する必要があります。それから私は感謝のページにユーザーを送る必要があります。
解決策は[こちら](https://stackoverflow.com/a/35083287/4628154)に記載されています。 API呼び出し時間が長い場合、またはビュー内のジョブが別のオフラインタスクでトリガーされ、待っているメッセージで新しいページをできるだけ早くリダイレクトします。 – ramganesh