2016-07-06 121 views
2
之间决定

我试图重构一些(4号)的工作,如下面的过程几乎相同AJAX的观点:获取某些对象的(数量2-4)使用Django的FBV和CBV

  1. ARGS
  2. 返回一个JSON如果任何对象都没有找到,否则继续
  3. 然后我们提取另一个对象(使用在步骤1中找到的对象)来更新和创建一个,如果没有找到
  4. 创建一个新形式取决于我们在步骤3中获得的对象的类型并验证并更新对象
  5. 到底取决于形式有效性

第一2个步骤是在所有4个AJAX视图共同返回一个JSON。即使他们尝试使用参数提取对象的模型也很常见。

然而,第3步起,事情本质上是非常不同的。该模型用于提取对象并反过来用于验证的表单。另外,根据模型的不同,这些ajax视图中还会有更多的东西发生。

我很新的基于类的视图和阅读thisthis。然而,如果我将这4个ajax视图转换为CBV,我无法看到在维护方面我是否会做出非常方便的未来。是的,我们有可能每年创建一次这样的ajax视图。

问题是:我应该使用CBV还是不行,因为如果我使用CBV,我只能停止前两步的复制?

+0

你是在谈论基于类的视图还是基于类的通用视图? [基于分类的观点:来自Russell Keith-Magee的过去,现在和未来视频](https://youtu.be/8_x6qLfZjjs) – Sayse

+0

@Sayse编辑最后一行,不要混淆CBV和CBGV。感谢那个链接。我觉得我需要更多的理解CBV来实现它的美丽。 :) –

+1

上面的视频做了一个很好的解释.. – Sayse

回答

2

我个人觉得基于类的视图更易于阅读。能够使用继承来不重复相同的代码是很好的,即使我只使用它一点。我发现基于类的视图在开发RESTful API时真的很有用,因为您可以处理同一类中的所有不同的请求方法。

相关问题