Tengo un formulario con una entrada para correo electrónico y dos botones de envío para suscribirse y cancelar la suscripción al boletín:
<form action="" method="post">
{{ form_newsletter }}
<input type="submit" name="newsletter_sub" value="Subscribe" />
<input type="submit" name="newsletter_unsub" value="Unsubscribe" />
</form>
También tengo forma de clase:
class NewsletterForm(forms.ModelForm):
class Meta:
model = Newsletter
fields = ('email',)
Debo escribir mi propio método clean_email y necesito saber por qué botón se envió el formulario. Pero el valor de los botones de envío no está en el self.cleaned_data
diccionario. ¿Podría obtener valores de botones de otra manera?
clean
que realmente sea el lugar adecuado para hacer la lógica a nivel de modelo. Es específicamente para limpiar un formulario y encontrar cualquierValidationError
correo electrónico que abarque múltiples entradas. La respuesta de Sven es más en la dirección correcta, pero aún no es necesariamente la mejor respuestaP.ej:
fuente
def post(self, request, *args, **kwargs)
.También puedes hacer así,
CÓDIGO
fuente
Es una vieja pregunta ahora, sin embargo, tuve el mismo problema y encontré una solución que funciona para mí: escribí MultiRedirectMixin.
fuente
una url a la misma vista! ¡al igual que!
urls.py
views.py
fuente