【发布时间】:2013-06-04 16:10:19
【问题描述】:
我在这里说的是严格的最佳实践。我一直在一个页面上初始化一个表单,然后从另一个视图处理它。我可以看到采用这种方法存在一些问题,但我想知道是否建议避免这种模式。
【问题讨论】:
-
没有什么能阻止你这样做,但这样做会破坏模块化。我会在同一个视图中处理表单,然后使用适当的参数重定向到不同的视图。
标签: django forms django-forms
我在这里说的是严格的最佳实践。我一直在一个页面上初始化一个表单,然后从另一个视图处理它。我可以看到采用这种方法存在一些问题,但我想知道是否建议避免这种模式。
【问题讨论】:
标签: django forms django-forms
不做你正在做的事情的主要原因是它需要你重复自己。考虑表单验证失败的情况:在视图 1 中,您呈现表单;用户提交查看 2;那里的表单被实例化和验证,但由于它失败了,你需要再次呈现它,因此重复视图 1 中的代码。
在一个视图中完成与呈现、验证和处理表单相关的所有事情,然后在完成时重定向到其他地方会更有意义。
【讨论】: