区分Django中具有不同前缀的相同表单的实例

时间:2017-07-07 15:09:49

标签: django django-forms

我在模板中传递了两个带有不同前缀的表单,每个表单都有自己的提交按钮但是如何在其中任何一个中按下提交按钮中的这两个表单中的数据以及如何区分按下哪个表单按钮

select field1 as memo, field2 as break_down ...

模板:add_app表单对象

return render(request,'part_details.html', {'part_stock_form': forms.part_stock_form(prefix='add'),'part_stock_edit':forms.part_stock_form(prefix='edit')})

模板:edit_app表单对象

<form id="add_app_form" method="post" action="{% url 'parts:part_app_model' part_temp.part_id %}">
    {% csrf_token %}
    {{ add_app.applicable }}
    <input type="submit">
</form>

2 个答案:

答案 0 :(得分:3)

因为您有2个提交按钮,所以请检查它们,例如

<input type="submit" name="fom1">sumbit formm 1 

<input type="submit" name="fom2">sumbit formm 2 

if 'fom1' in request.POST:
    #statements
elif 'fom2' in request.POST:
    #statements

答案 1 :(得分:2)

一种简单的方法是检查POST数据的键。 让我们假设你有一种形式的field1和另一种形式的field2,但两种形式都没有。

if 'field1' in request.POST.keys():
    #statements
elif 'field2' in request.POST.keys():
    #statements

其他方式是在表单的action属性下将它们发送到不同的URL,然后为它们定义单独的视图,并相应地配置urls.py。 希望它有所帮助。