J'ai un formulaire avec une entrée pour l'e-mail et deux boutons d'envoi pour m'abonner et me désabonner de la newsletter:
<form action="" method="post">
{{ form_newsletter }}
<input type="submit" name="newsletter_sub" value="Subscribe" />
<input type="submit" name="newsletter_unsub" value="Unsubscribe" />
</form>
J'ai aussi la forme de classe:
class NewsletterForm(forms.ModelForm):
class Meta:
model = Newsletter
fields = ('email',)
Je dois écrire ma propre méthode clean_email et j'ai besoin de savoir par quel bouton le formulaire a été soumis. Mais la valeur des boutons d'envoi n'est pas dans le self.cleaned_data
dictionnaire. Pourrais-je obtenir les valeurs des boutons autrement?
clean
soit vraiment le bon endroit pour faire de la logique au niveau du modèle. C'est spécifiquement pour nettoyer un formulaire et trouver toutValidationError
s qui couvre plusieurs entrées. La réponse de Sven est plus dans la bonne direction, mais pas nécessairement la meilleure réponsePar exemple:
la source
def post(self, request, *args, **kwargs)
.Vous pouvez aussi faire comme ça,
CODE
la source
C'est une vieille question maintenant, néanmoins j'ai eu le même problème et j'ai trouvé une solution qui fonctionne pour moi: j'ai écrit MultiRedirectMixin.
la source
une URL vers la même vue! ainsi!
urls.py
views.py
la source