【问题标题】:Django: Send posted files to a different formDjango:将发布的文件发送到不同的表单
【发布时间】:2015-09-19 04:24:51
【问题描述】:

好吧,我必须将一个表单发布的文件发送到另一个表单,我必须先读取一个 XML 文件,如果文件有效,我将重定向到下一个表单,该表单必须接收到有效文件过去的形式。我尝试了会话,但我不确定这是否是正确的方法,这里是我的模型。

类 InitialForm(models.Model): ... 名称 = models.CharField(max_length=50) xml = models.FieldField(label='请选择一个 XML 文件') ... 类SecondForm(模型。模型): ... 名称 = models.CharField(max_length=50) pdf = models.FieldField(label='请选择一个PDF文件') ...

我得到两个表单的原因是因为我必须先读取 XML 并验证它,然后在下一个表单“SecondForm”中显示我刚刚从 XML 解析的数据,以便验证并提供反馈给用户。然后必须将两个文件都插入数据库中,前提是第一个文件有效。

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

【问题讨论】:

    标签: django forms


    【解决方案1】:

    我认为你需要的是一个form wizard,当你需要构建一个拆分为多个请求的表单时,Django 提供了它。

    从他们的文档来看,它是这样工作的:

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

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

    重复第 1 步和第 2 步,对后面的每个表单 向导。

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

    【讨论】:

    • 我想我会使用表单向导,可以通过表单向导从当前表单中获取以前表单的数据吗?我的意思是以前表格中的文件。提前致谢。
    • 当然可以。毕竟,这就是向导的目的......维护从一个请求到另一个请求的数据。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-24
    • 2010-12-28
    • 2014-01-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多