Tenho um formulário com uma entrada para e-mail e dois botões de envio para assinar e cancelar a assinatura do boletim informativo:
<form action="" method="post">
{{ form_newsletter }}
<input type="submit" name="newsletter_sub" value="Subscribe" />
<input type="submit" name="newsletter_unsub" value="Unsubscribe" />
</form>
Eu também tenho formulário de classe:
class NewsletterForm(forms.ModelForm):
class Meta:
model = Newsletter
fields = ('email',)
Preciso escrever meu próprio método clean_email e preciso saber com qual botão o formulário foi enviado. Mas o valor dos botões de envio não está no self.cleaned_data
dicionário. Eu poderia obter valores de botões caso contrário?
clean
é realmente o tipo certo de lugar para fazer lógica no nível do modelo. É especificamente para limpar um formulário e encontrar qualquerValidationError
s que abranja várias entradas. A resposta de Sven é mais na direção certa, mas ainda não é necessariamente a melhor respostaPor exemplo:
fonte
def post(self, request, *args, **kwargs)
.Você também pode fazer assim,
CÓDIGO
fonte
Agora é uma pergunta antiga, no entanto, tive o mesmo problema e encontrei uma solução que funciona para mim: escrevi o MultiRedirectMixin.
fonte
um URL para a mesma visualização! igual a!
urls.py
views.py
fonte