我在一個模板中有3個formset。只有一個會在給定時間(另外兩個是完全隱藏)可見:Django找到哪個表單提交了
<form style="display: none;">
所有3種形式呈現使用默認值,應該是有效的,即使沒有輸入數據。
但是,我想知道在驗證views.py時提交了哪一個。
在views.py我有以下幾點:
def submitted(request):
f1 = formset1(request.POST)
f2 = formset2(request.POST)
f3 = formset3(request.POST)
if f1.is_valid() or f2.is_valid() or f3.is_valid():
f1.save()
f2.save()
f3.save()
# Do a lot of calculations...
return render(request, 'submitted.html')
的問題是,我不希望如果只有F1提交F2或F3保存(每個表單集都有自己的提交按鈕)。 '#做很多計算......'部分非常廣泛,我不想不必要地複製代碼。
如何使用相同的視圖,但僅保存並僅對提交的表單集進行計算?
兩者的提交按鈕被點擊將在'request.POST'的ID。 – Ben
感謝您的快速響應!我不確定你的意思 - 對不起!我試着在submitted.html中查看f1.id並沒有看到任何東西? – wernerfeuer
看我的回答:) – Ben