我有一个Django项目,在一个页面上有多个表单(在不同的标签),可以提交具有不同的效果。在所有情况下,我都希望用户重定向到同一页面,因此我使用我的视图提交表单并重定向到原始页面的模式。在至少一种情况下,两个表单之间的唯一区别是提交按钮的值。如何访问Django中的表单提交按钮值?
我认为我的代码(这是第一次我的视图函数访问request.POST
):
if request.POST['submit']=='Add':
#code to deal with the "Add" form
和在模板中,第一形式具有提交按钮等
<input type="submit" value="Add">
我想这会工作,但是当我提交表单,我得到在该行的错误观点从上面:
重点“提交”不
<QueryDict: {u'clientyear': [u'2012'], u'csrfmiddlewaretoken': [u'be1f2f051f09f6ab0375fdf76cf6a4d7'], u'ben': [u'123405']}>
显然发现了,这不具有'submit'
键或任意键与对应的提交按钮,我点击的价值。所以,由于这不起作用,如何访问提交按钮的值或者告诉哪些表单已经提交?
这取决于什么是特定设置的值提交按钮。如果这是一个空字符串,你的解决方案将不起作用(因为''''是一个空字符串,被评估为false)。 – Tadeck
我使用* ... *它显示重要的东西是'名称'不'价值'...现在修复,谢谢。 – FallenAngel
没问题。但也许更简单的方法是将request.POST.get('list')'替换为request.POST'中的'list'? – Tadeck