Django如何为多个表单创建一个帖子请求。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Django如何为多个表单创建一个帖子请求。相关的知识,希望对你有一定的参考价值。
我在同一个模板中有多个表单,每个表单都链接到一个按钮(aform按钮,bform按钮.....)当点击获取带有一些文件的弹出窗体时,我如何通过创建一个post请求来保存该表单在views.py中
(我知道为单个表单创建一个POST请求。)但是我如何为多个表单实现这一点。注意:一次只能提交一份表格。
def example_view(request):
context = {
'aform':AForm(),
'bform':BForm(),
'cform':CForm(),
'dform':DForm()
}
template = "xyz.html"
return render(request, template, context)
如何为多个表单创建帖子请求?
答案
您可以通过以下方式执行此操作。
- 使用ajax提交表单并单独处理每个表单。这样,每个表单都会在不同的链接中发布。
- 在两个表单的操作中放入不同的URL。然后你将有两个不同的视图函数来处理两种不同的形式。
- 从POST数据中读取提交按钮值。您必须发送一个参数,您可以使用该参数判断单击了哪个提交按钮。
forma = FormA(prefix="a") formb = FormB(prefix="b") which_form = request.GET.get('form_name') if request.POST: if which_form == 'a': forma = FormA(request.POST, prefix="a") if forma.is_valid(): obja = forma.save() if which_form == 'b': formB = FormB(request.POST, prefix="b") if formb.is_valid(): objb = formb.save()
以上是关于Django如何为多个表单创建一个帖子请求。的主要内容,如果未能解决你的问题,请参考以下文章
如何为多个并发事务请求正确处理 JPA ObjectOptimisticLockException?