我刚开始学习django。当我开始一个小型登录系统时,我不得不为它开发一个表单。我使用了一个html页面,并在views.py
中处理了数据,然后将响应放在另一个视图中。但是我在给出的例子中遇到了一个名为forms.py
的文件。我不明白如何使用它,它易于使用,更好地在两者之间使用。谁能帮我?
答案 0 :(得分:9)
forms.py
(如admin.py
)只是django使用的约定。它被认为是最佳实践,但不是严格的要求。这些文件没有什么特别或异国情调。
forms.py
是django文档建议您放置所有表单代码的地方;保持代码易于维护。此外,由于它是文档中提到的约定,因此当您与其他人合作时,它会有所帮助,因为这是其他人希望查找处理表单的代码的地方。
将其想象为index.html
。没有规则声明该文件应该被称为index.html
,但它是一个随着时间的推移而构建的约定。
您可以在views.py
中拥有所有forms classes,但任何事情都不会中断。现在,如果您没有使用表单,,并且所有仍然“手动”处理GET和POST数据,那么您应该立即停止;特别是如果它不仅仅是搜索查询字符串。
唯一绝对必需的文件是models.py
。
答案 1 :(得分:0)
使模型和视图“哑”是可供选择的:如果您使用像“forms.py”这样的特定文件,其中您将表单类与其验证一起使用,那么对这些表单进行单元测试要比单独测试更容易,尤其快不得不使用Django的测试客户端。模型也是如此:任何复杂的算法通常会进入“utils.py”(或类似名称)文件,因此可以更容易地测试。
最后,当views.py或models.py文件的大小随着时间的推移变得越来越大时,一直滚动文件会有点烦人。