Pengendalian Pelbagai Borang dalam Django
Dalam Django, pengendalian berbilang borang pada satu halaman boleh menimbulkan cabaran. Mari kita terokai dua pendekatan berdaya maju untuk menangani senario ini:
Pendekatan 1: Asingkan URL untuk Borang
Tetapkan URL yang berbeza pada setiap borang. Ini menghasilkan fungsi paparan berasingan yang mengendalikan penyerahan. Kelebihan kaedah ini terletak pada kesederhanaan dan organisasi kodnya.
Pendekatan 2: Memanfaatkan Nilai Butang Hantar
Jika anda ingin menyimpan borang pada halaman yang sama, anda boleh membezakannya berdasarkan nilai butang hantar. Coretan kod berikut menunjukkan pendekatan ini:
if request.method == 'POST': if 'bannedphrase' in request.POST: bannedphraseform = BannedPhraseForm(request.POST, prefix='banned') if bannedphraseform.is_valid(): bannedphraseform.save() expectedphraseform = ExpectedPhraseForm(prefix='expected') elif 'expectedphrase' in request.POST: expectedphraseform = ExpectedPhraseForm(request.POST, prefix='expected') if expectedphraseform.is_valid(): expectedphraseform.save() bannedphraseform = BannedPhraseForm(prefix='banned') else: bannedphraseform = BannedPhraseForm(prefix='banned') expectedphraseform = ExpectedPhraseForm(prefix='expected')
Dalam kod ini, frasa larangan dan frasa jangkaan ialah nama butang hantar, manakala bentuk frasa larangan dan bentuk frasa jangkaan ialah bentuk yang sepadan. Dengan menyemak kehadiran butang ini dalam data POST permintaan, anda boleh mengenal pasti borang yang telah diserahkan dan memprosesnya dengan sewajarnya.
Atas ialah kandungan terperinci Bagaimana Mengendalikan Berbilang Borang dalam Paparan Django Tunggal?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!