Rumah >pembangunan bahagian belakang >Tutorial Python >Bagaimana Mengendalikan Berbilang Borang dalam Paparan Django Tunggal?

Bagaimana Mengendalikan Berbilang Borang dalam Paparan Django Tunggal?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-18 22:24:02766semak imbas

How to Handle Multiple Forms in a Single Django View?

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn