Существует ли библиотека для предотвращения дублирования представлений форм для django?

Я пытаюсь найти способ запретить пользователям двойную отправку моих форм. У меня есть JavaScript, который отключает кнопку отправки, но есть случайный пользователь, который находит способ для двойной отправки.

У меня есть видение библиотеки многократного использования, которую я мог бы создать, чтобы защитить от этого.

В моей идеальной библиотеке блок кода будет выглядеть примерно так:

try:
    with acquire_lock({'field1':'abc', 'field2':'def'}) as lock:
        response = #do some credit card processing
        lock.response = response
except SubmissionWasDuplicate, e:
    response = e.response

Таблица блокировки будет выглядеть примерно так:

duplicate_submission_locks

submission_hash # MD5 представленных аргументовответ № маринованные данныеcreate_at # используется для подметания этой таблицыlock_expired # логическое значение, если срок действия блокировки истек

Кто-нибудь знает, если это уже существует? Это не трудно написать, поэтому, если он не существует, я могу написать сам.

Ответы на вопрос(5)

Ваш ответ на вопрос