在没有数据持久性的情况下,如何最好地在 Django 中压缩表单:最 Djangonic 的方法是啥? [关闭]

Posted

技术标签:

【中文标题】在没有数据持久性的情况下,如何最好地在 Django 中压缩表单:最 Djangonic 的方法是啥? [关闭]【英文标题】:How best to bite-size a form in Django, with no data persistence: What's the most Djangonic method? [closed]在没有数据持久性的情况下,如何最好地在 Django 中压缩表单:最 Djangonic 的方法是什么? [关闭] 【发布时间】:2021-04-21 05:59:01 【问题描述】:

首先,我的问题中的场景:

我想分阶段交付表格,有效完成一个阶段会导致下一个阶段,直到所有阶段都完成。

完成后,我想使用一次数据,然后完全忘记它,因此我根本不会保留任何用户数据。

我的选择是:

    多个视图,每个视图都有一个唯一的表单,都绑定到一个模型。链中的最后一个提交按钮触发模型中的数据被访问、使用,然后删除该特定行。 包含单个未绑定表单的单个视图和模板,它逐步取消隐藏包含每个阶段的 div,直到所有阶段完成并且最终“提交”表单中的数据,允许视图处理它并忘记它。

以上三个我都可以实现,但是哪个是最“Djangonic”的方法,或者还有更好的方法吗?

【问题讨论】:

【参考方案1】:

有一个由 Django 家伙为这个案例制作的库:https://django-formtools.readthedocs.io/en/latest/wizard.html

虽然它不是动态的,所以当您单击“继续”时,它会呈现一个新页面。但是您可能可以编写一个可以处理此问题的 javascript 模块。但我不会走那么远,这是很多工作却没有什么好处。只需 django-form-tools 并使用您想要的向导并在您的视图的done 阶段执行您需要的任何操作。

【讨论】:

以上是关于在没有数据持久性的情况下,如何最好地在 Django 中压缩表单:最 Djangonic 的方法是啥? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

iOS:如何在没有数据库的情况下临时持久化数据?

Flask的ORM和查询操作

如何在没有数据库的情况下填充内容提供程序

如何在不使用 %s 的情况下安全、动态地在查询中设置列名?

如何最好地在两个 ASP.NET Core 服务器应用程序之间进行通信? [关闭]

如何在给定键和值数组的情况下有效地在 Eloquent 中进行大规模更新