Django:将发布的文件发送到其他表单

时间:2015-07-01 20:28:02

标签: django forms

好吧,我必须将一个表单发布的文件发送到其他表单,我必须首先读取一个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解析的数据,以验证并向用户提供反馈。然后,只有当第一个文件有效时,才必须将这两个文件插入数据库中。

欢迎任何帮助。 提前谢谢。

1 个答案:

答案 0 :(得分:1)

我认为您需要的是form wizard,当您需要构建分成多个请求的表单时,Django会提供这种情况。

从他们的文档中可以看出它的工作原理:

  

用户访问向导的第一页,填写表单并填写   提交它。

     

服务器验证数据。如果它无效,表格   再次显示,并显示错误消息。如果它有效,服务器   在后端保存向导的当前状态并重定向到   下一步。

     

步骤1和2重复,对于每个后续表格   向导。

     

一旦用户提交了所有表单并且所有数据都已提交   经过验证,向导处理数据 - 将其保存到   数据库,发送电子邮件或应用程序需要做的任何事情。