【问题标题】:Should you always process a form in the view from which you initialise it?你应该总是在你初始化它的视图中处理一个表单吗?
【发布时间】:2013-06-04 16:10:19
【问题描述】:

我在这里说的是严格的最佳实践。我一直在一个页面上初始化一个表单,然后从另一个视图处理它。我可以看到采用这种方法存在一些问题,但我想知道是否建议避免这种模式。

【问题讨论】:

  • 没有什么能阻止你这样做,但这样做会破坏模块化。我会在同一个视图中处理表单,然后使用适当的参数重定向到不同的视图。

标签: django forms django-forms


【解决方案1】:

不做你正在做的事情的主要原因是它需要你重复自己。考虑表单验证失败的情况:在视图 1 中,您呈现表单;用户提交查看 2;那里的表单被实例化和验证,但由于它失败了,你需要再次呈现它,因此重复视图 1 中的代码。

在一个视图中完成与呈现、验证和处理表单相关的所有事情,然后在完成时重定向到其他地方会更有意义。

【讨论】:

  • 我没有充分考虑到这一点。感谢丹尼尔的投入。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-07-13
  • 2012-12-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多