Saya memiliki formulir dengan satu masukan untuk email dan dua tombol kirim untuk berlangganan dan berhenti berlangganan buletin:
<form action="" method="post">
{{ form_newsletter }}
<input type="submit" name="newsletter_sub" value="Subscribe" />
<input type="submit" name="newsletter_unsub" value="Unsubscribe" />
</form>
Saya juga memiliki bentuk kelas:
class NewsletterForm(forms.ModelForm):
class Meta:
model = Newsletter
fields = ('email',)
Saya harus menulis metode clean_email saya sendiri dan saya perlu tahu dengan tombol mana formulir dikirimkan. Tetapi nilai tombol kirim tidak ada dalam self.cleaned_data
kamus. Bisakah saya mendapatkan nilai tombol?
clean
sebenarnya bukan tempat yang tepat untuk melakukan model-level logic. Ini khusus untuk membersihkan formulir dan menemukan apa punValidationError
yang menjangkau beberapa input. Jawaban Sven lebih ke arah yang benar, tetapi masih belum tentu jawaban terbaikMisalnya:
sumber
def post(self, request, *args, **kwargs)
.Anda juga bisa melakukan ini,
KODE
sumber
Ini pertanyaan lama sekarang, namun saya memiliki masalah yang sama dan menemukan solusi yang sesuai untuk saya: Saya menulis MultiRedirectMixin.
sumber
satu url ke tampilan yang sama! seperti itu!
urls.py
views.py
sumber