두 번째 제출 중복 요청을 처리하는 방법 서버 지연으로 인해 첫 번째 제출이 아직 완료되지 않은 경우 사용자가 페이지를 새로 고치려고하는 경우.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