好吧,我必须将一个表单发布的文件发送到其他表单,我必须首先读取一个XML文件,如果该文件有效,我将重定向到下一个表单,该表单必须包含有效文件以过去的形式收到。我尝试过会议,但我不确定这是不是正确的方法,这是我的模特。
class InitialForm(models.Model): ... name = models.CharField(max_length=50) xml = models.FieldField(label='Please choose an XML file') ... class SecondForm(models.Model): ... name = models.CharField(max_length=50) pdf = models.FieldField(label='Please choose a PDF file') ...
我得到两种表格的原因是因为我必须先阅读XML并对其进行验证,然后再使用下一种表格' SecondForm'显示我刚刚从XML解析的数据,以验证并向用户提供反馈。然后,只有当第一个文件有效时,才必须将这两个文件插入数据库中。
欢迎任何帮助。 提前谢谢。
答案 0 :(得分:1)
我认为您需要的是form wizard,当您需要构建分成多个请求的表单时,Django会提供这种情况。
从他们的文档中可以看出它的工作原理:
用户访问向导的第一页,填写表单并填写 提交它。
服务器验证数据。如果它无效,表格 再次显示,并显示错误消息。如果它有效,服务器 在后端保存向导的当前状态并重定向到 下一步。
步骤1和2重复,对于每个后续表格 向导。
一旦用户提交了所有表单并且所有数据都已提交 经过验证,向导处理数据 - 将其保存到 数据库,发送电子邮件或应用程序需要做的任何事情。