-1

这里有什么方法可以将表单集存储到会话中吗?


我的场景是这样的。我有一个表格来填写用户数据和上传用户证书,在下一页(点击下一步的表格)有一个表格可以输入专业详细信息。

是否可以限制使用表单集生成的表单的最大数量?

4

2 回答 2

1

如果我正确理解您的问题 - 如何在会话中保存 from 的状态,然后从 Django 1.4 开始,它实际上提供了一种开箱即用的方法。

https://docs.djangoproject.com/en/dev/ref/contrib/formtools/form-wizard/

它允许您将表单拆分为多个部分,然后用户可以单独填写。一旦用户填写了任何一个部分,他/她就会转到下一页,此时表单的状态将保存在会话中。填满所有页面后,所有内容都可以保存到数据库中。

此外,在从一个页面转到另一个页面时,您添加了下一页应该是什么的逻辑。

您有一个向导的图像,它在第一页上询问用户想要上传什么类型的内容。然后转到第二页,然后根据第一页的答案,可以出现适当的上传字段 - 视频、音乐或图形字段。

于 2012-09-19T12:40:05.140 回答
0

我会回答 FormWizard 但如果您不想使用它,您可以简单地创建两个表单。当用户提交第一个表单时,您将其放入会话中,然后生成第二个表单。当他单击反向链接时,您取消腌制保存的数据并预先填写表格。

def submitFirstForm(request):
  data = request.POST['data']
  import cPickle        
  request.session['data'] = cPickle.dumps(data)
  ...

 def backBtn(request):
   import cPickle
   data = cPickle.loads(request.session['page'])
   form = DataForm(data)
   ...
于 2012-09-19T13:05:59.367 回答