Django中CBV的设计

时间:2013-03-05 20:54:44

标签: python django

我目前正在尝试使用Django 1.5进入“基于类的视图”。

从设计角度来看,我想知道在一个简单的FormView 中处理来自表单的逻辑的逻辑。

我知道所有表单验证代码都会进入方法form_valid()。但是在哪里放置处理表单数据的东西。我读到它在某种程度上不适合在form_valid()方法中加入过多的逻辑。

get()post()get_context_data()head()等方法...我应该在哪种情况下使用?

2 个答案:

答案 0 :(得分:1)

这个问题的任何答案都可以讨论。也就是说,视图只是Python类,因此可以覆盖任何方法来相应地自定义事物。

在类上创建一个额外的方法来处理数据处理也是完全合法的。

答案 1 :(得分:1)

  1. 表单验证,数据清理等与清洁方法中的表单类一起使用

  2. 有效表单的处理应采用重写的form_valid方法

  3. 就是这样!如果您的用例更复杂,您可以从form_valid ...

    中调出您创建的其他方法