An approach would be making a hash of the form's field and when the server receives the request you check if the hash of the form is already there (e.g. form already submitted). Something like this:
import hashlib
from django.shortcuts import Http404
sha512 = hashlib.sha512()
sha512.update(form_fields_stringfied)
if not request.session['forbidden_data']:
request.session['forbidden_data'] = []
hashed_form = sha512.hexdigest()
if hashed_form not in request.session['forbidden_data']:
request.session['forbidden_data'].append(hashed_form)
else:
raise Http404
where hashed_form is the form data concatenated or in anyway you like
thus, no two forms considered equal will ever be submitted