簡體   English   中英

"如何在 Django 中訪問表單提交按鈕的值?"

[英]How can I access the form submit button value in Django?

我有一個 Django 項目,在一個頁面上,有多個表單(在不同的標簽中)可以提交以產生不同的效果。 在所有情況下,我都希望用戶被重定向回同一頁面,因此我在我的視圖中使用提交表單然后重定向到原始頁面的模式。 至少在一種情況下,兩個表單之間的唯一區別是提交按鈕的值。

在我看來,我有代碼(這是我的視圖函數第一次訪問request.POST<\/code> ):

if request.POST['submit']=='Add':
    #code to deal with the "Add" form

Submit<\/code>是一個 HTML 表單結構...您必須使用表單對象的名稱屬性,如下所示...在您的模板中:

<form>
...
<input type="submit" name="list" value="List Objects" />
</form>
<form>
...
<input type="submit" name="do-something-else" value="Do Something Else" />
</form>

要記住一件事以防止混淆。 如果表單中只有一個按鈕,則不會顯示提交按鈕的name<\/code> 。

#template.html
<form action="..." method="post">
<input type="submit" name = "first_button" value="Add">
</form>

#view.py
...
'first_button' in request.POST  #False

我有點晚了,但這是解決方案

您面臨的問題<\/strong>

您正在嘗試獲取按鈕名稱,但獲取按鈕的初始值不正確。

HTML 代碼<\/strong>

 Python 代碼\/View.py<\/strong>

解決方案<\/strong>

如果存在,首先在 request.POST 字典中找到按鈕名稱,然后獲取它們的值。

HTML 代碼<\/strong>

添加按鈕的名稱及其值。

視圖.py<\/strong>

您可以在 request.POST 字典中找到按鈕名稱

額外的東西<\/strong>

我們在一個頁面上有兩個表單。

第一種形式有 2 個按鈕,主題<\/strong>名稱相同,但值不同fav_HTML<\/strong>和fav_CSS<\/strong> 。

第二種形式也有 2 個按鈕,同名tutorials<\/strong>但值不同Tutorials_HTML<\/strong>和Tutorials_CSS<\/strong> 。

視圖.py<\/strong>

我們可以處理不同的表單,檢查單擊了哪個按鈕,然后獲取它們的值並做一些事情。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM