gpt4 book ai didi

javascript - 如何在Django中设计分步表单?

转载 作者:行者123 更新时间:2023-12-03 03:30:08 25 4
gpt4 key购买 nike

我已经在我的 Django Web 应用程序上工作了一段时间了,由于最初的计划不周,我一直在不断地更改和移动我的 Web 应用程序中的内容,所以现在它一团糟。我决定停止编写代码并反射(reflection)我希望事情如何工作。

出现的问题之一是人们必须填写的申请表。

models.py

class Contact(models.Model):
ContactName = models.CharField(max_length = 250, default='',
verbose_name="Contact Name")
Country = models.CharField(max_length = 250, default='')
City = models.CharField(max_length = 250, default='')
etc.

我的表单中将有一百多个字段,我不希望它们一次全部显示,而是一步步显示:

个人信息 -> 一般信息 -> 上传支持的文档 -> 等

我有两个问题:

  1. 我应该将所有 100 个字段保留在一个类(联系人)下,还是将它们分解为几个类并使用外键将它们全部连接起来?最佳实践是什么?

  2. 填写个人信息字段后,申请人将按继续,然后转到“一般信息”并填写该信息,依此类推。这个逻辑应该在 Django views.py 中处理还是使用 JavaScript 来完成?或者是两者的结合?

在再次触摸键盘之前,我只是想弄清楚一切是如何工作的。

最佳答案

首先,永远不要根据 UI 来设计应用程序。表示层并不是唯一的,您可以有不同的表示层,例如 Web UI、移动 UI 和第三方 API 接口(interface)。

当您创建后端时,不要针对演示文稿进行定制。是必须适应的演示文稿。

使用 ER 图在纸上创建模型,如果您需要向导表单,则可以使用以前的表单向导,现在使用表单工具 https://django-formtools.readthedocs.io/en/latest/创建一组表单来收集和验证数据并在后端创建模型(复数)。

使用 formtools,您不需要使用 javascript。 formtools 允许您创建许多不同的表单来一起运行。每个表单都有自己的验证,但最后您有一个 done 函数来一起管理所有数据以创建您需要的数据。

您不需要 JS,但您可以使用适当的 JS 工具来改善 UX(用户体验)。我现在不会关心这个。您当前的问题是管理应用程序的设计,以及稍后可以处理的演示文稿。

关于javascript - 如何在Django中设计分步表单?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46136661/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com