Django-Django表单使用的优点是什么?

Django-Django表单使用的优点是什么?,django,django-forms,Django,Django Forms,最近几天我一直在学习Django,我已经到了不再需要默认表单功能(它们在模板中的显示方式、有效性、错误消息等)的地步。所以我使用django提供的工具来定制所有这些。 然而,通过这样做,我最终得到了比我使用表单之前更长的代码 在一个复杂的项目中,使用表单比不使用表单(只处理request.POST/GET等)有什么优势吗?首先想到的最大优势是: 表单和字段的验证程序 以上内容包括: 拒绝错误输入(缺少字段等) 自动生成错误消息并将其绑定到适当的模板对象 重新填充其他包含良好数据的字段(如果访问

最近几天我一直在学习Django,我已经到了不再需要默认表单功能(它们在模板中的显示方式、有效性、错误消息等)的地步。所以我使用django提供的工具来定制所有这些。 然而,通过这样做,我最终得到了比我使用表单之前更长的代码


在一个复杂的项目中,使用表单比不使用表单(只处理request.POST/GET等)有什么优势吗?

首先想到的最大优势是:

表单和字段的验证程序

以上内容包括:

  • 拒绝错误输入(缺少字段等)
  • 自动生成错误消息并将其绑定到适当的模板对象
  • 重新填充其他包含良好数据的字段(如果访问者仅仅因为一个字段出错而必须重新输入表单,这将非常糟糕)
当然,所有这些都可以从视图中“手动”实现,但IMO表单要优雅得多

其他一些好处对于更复杂的情况:

  • 表单集-用于同时显示同一类型的多个表单(即,用于同时编辑同一类的多个对象)
  • 在一个视图上无缝使用多个表单(带前缀)
  • 重复使用小部件(自定义小部件)或插入任何第三方小部件的可能性
  • 对于真正复杂的表单视图:非常棒
  • ModelForms(如果没有它,列表将不完整)
最后一个,但应该始终是第一个,除非它可能永远不会是(无论如何,在我自己的经验中):

  • 分离项目的逻辑层,以及
  • 保持代码整洁,遵守约定和最佳实践

检查这一点:如果只是为了验证,它们是值得的。