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

如何在單一 Django 頁面上處理多個表單?

Susan Sarandon
發布: 2024-11-30 03:49:18
原創
912 人瀏覽過

How to Handle Multiple Forms on a Single Django Page?

在Django 中處理單一頁面上的多個表單

在單一Django 範本上處理多個表單時,必須確定哪個表單正在提交以避免同時處理兩個表格。主要挑戰在於識別 POST 資料中所需的表單。

多個表單選項

解決此問題的方法有多種:

  • 單獨的URL:為每個表單分配不同的URL。這會導致多個視圖函數單獨處理表單。
  • 提交按鈕值:檢查 POST 資料中的提交按鈕值以確定使用了哪個按鈕。

範例解決方案

考慮以下場景,其中我們有兩個表單頁:預期短語形式和禁止短語形式。為了處理他們的提交,我們使用以下程式碼:

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

在此範例中,我們檢查提交按鈕值的 POST 資料。根據該值,我們實例化相應的表單並嘗試保存它。前綴確保提交的資料正確綁定到表單。

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

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