我在一个模板中有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