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

Javascript 如何在Django中设计分步表单?,javascript,python,django,django-models,architecture,Javascript,Python,Django,Django Models,Architecture,我已经在我的Django web应用程序上工作了相当长的一段时间,由于最初的糟糕计划,我一直在不断地更改和移动我的web应用程序中的东西,所以现在它是一个完全混乱的地方。我决定停止编写代码,反思我希望这些东西如何工作 出现的问题之一是人们必须填写的申请表 models.py class Contact(models.Model): ContactName = models.CharField(max_length = 250, default='', verbose_

我已经在我的Django web应用程序上工作了相当长的一段时间,由于最初的糟糕计划,我一直在不断地更改和移动我的web应用程序中的东西,所以现在它是一个完全混乱的地方。我决定停止编写代码,反思我希望这些东西如何工作

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

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. 
我的表单中有100多个字段,我不希望一次显示所有字段,而是一步一步地显示它们:

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

我有两个问题:

  • 我应该将所有100个字段保存在一个类(Contact)下,还是将它们分解为几个类,并使用ForeignKey将它们全部连接起来?最佳实践是什么

  • 填写完个人信息字段后,申请人将按继续,并移至“一般信息”并填写,以此类推。这个逻辑应该在Django views.py中处理,还是使用JavaScript来完成?还是两者兼而有之


  • 在我再次触摸键盘之前,我只是想了解一下一切是如何工作的

    首先,永远不要基于UI设计应用程序。表示层不是唯一的,您可以有不同的表示层,如web UI、移动UI和第三方API接口

    创建后端时,不要为演示文稿定制后端。是必须调整的演示文稿

    使用ER图表在纸上创建模型,如果需要向导表单,可以使用以前的
    表单向导
    现在的
    表单工具
    创建一组表单,以收集和验证数据,并在后端创建模型(复数)

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


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

    我建议你看看这个其他SE站点:,在那里你的问题可能更合适(尽管我不确定,我并不是说这个问题在这里问起来不好),在这里,在一个问题中提出两个独立的问题很可能会受到反对。看看您提供的代码片段,我还建议您学习和使用PEP-8,即使您忽略了行长度的规定。它是所有Python代码的实际标准。例如,对于初学者,您的型号字段名将是
    联系人姓名
    国家
    城市
    。我非常感谢您在设计应用程序方面给出的第一行答案。这就是我犯的错误:我已经编写了UI,现在我正在尝试定制后端。谢谢您的回答,我将查看ER图并查看您提供的链接。@Sukrab很高兴对您有用。你认为这是你问题的正确答案吗?