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中文網其他相關文章!