首頁 > 後端開發 > Python教學 > 如何在單一 Django 視圖中處理多個表單?

如何在單一 Django 視圖中處理多個表單?

Mary-Kate Olsen
發布: 2024-11-18 22:24:02
原創
750 人瀏覽過

How to Handle Multiple Forms in a Single Django View?

Django 中的多個表單處理

在 Django 中,在單一頁面上處理多個表單可能會帶來挑戰。讓我們探索兩種可行的方法來解決這種情況:

方法 1:單獨的表單 URL

為每個表單分配不同的 URL。這會導致單獨的視圖函數處理提交。此方法的優點在於其簡單性和程式碼組織。

方法 2:利用提交按鈕值

如果您希望將表單保留在同一頁上,您可以根據提交按鈕值來區分它們。下面的程式碼片段示範了這個方法:

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')
登入後複製

在此程式碼中,bannedphrase和expectedphrase是提交按鈕的名稱,而bannedphraseform和expectedphraseform是對應的表單。透過檢查請求的 POST 資料中是否存在這些按鈕,您可以識別提交的是哪個表單並進行相應的處理。

以上是如何在單一 Django 視圖中處理多個表單?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板