【发布时间】:2018-02-18 13:42:59
【问题描述】:
我已经在我的 Django 网络应用程序上工作了很长一段时间,由于最初的规划不善,我一直在不断地改变和移动我的网络应用程序中的东西,所以现在它完全是一团糟。我决定停止编写代码并反思我希望这些事情如何工作。
提出的问题之一是人们必须填写的申请表。
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 个字段保留在一个类 (Contact) 下,还是将它们分解为几个类并使用 ForeignKey 将它们全部连接起来?最佳做法是什么?
填写个人信息字段后,申请人将按继续,然后将转到一般信息并填写,依此类推。这个逻辑应该在 Django views.py 中处理,还是将使用 JavaScript 完成?还是两者兼而有之?
在我再次触摸键盘之前,我只是想弄清楚一切是如何工作的。
【问题讨论】:
-
我建议您看看这个其他 SE 网站:Code Review,您的问题可能更适合您的问题(尽管我不确定,我并不是说这个问题不好问这里)
-
但是,在这里提出两个单独的问题可能会令人不快。
-
查看您提供的代码 sn-p,即使您忽略行长规定,我也建议学习和使用 PEP-8。它是所有 Python 代码的事实标准。例如,对于初学者,您的模型字段名称将是
contact_name、country和city。 python.org/dev/peps/pep-0008
标签: javascript python django django-models architecture