Django简单的REST与基于类的视图

时间:2013-03-30 15:20:12

标签: django

我是Django的新手,我正在寻找一种方法,使基于类的视图响应GET,POST,PUT,DELETE以及类中的几种方法。 e.g。

  • index #GET
  • 显示#GET
  • new #GET
  • 编辑#GET
  • 创建#POST
  • 更新#PUT
  • 删除#DELETE

我的主要原因是将我的代码组织在一个类中。目前我正在使用一个类来处理新的和创建操作,另一个用于处理编辑和更新操作。这感觉有点笨拙。

我使用过Spring,Symfony,Rails,它们都提供了一种简单的方法。 Django似乎有很多选择(tastypie,rest-framework),但我看不到任何支持这一点。有没有办法支持这个?

提前致谢。

1 个答案:

答案 0 :(得分:0)

我并不完全正面,但我认为你将REST术语与“在一个类中处理不同类型的请求”混合在一起。休息框架和Tastypie将启用的是资源定义,序列化和反序列化,django模型的管道,以及资源的标准化API。

另一方面,只使用django class-based views就可以得到你需要的东西:回答由X,Y,Z mixins组成的单个类中的不同类型的请求,并指向它的单个URL,但是这并没有使它完全“REST”。

使用单个CBV似乎是一个好主意,但请记住,随着视图变得越来越复杂,原始的笨重肯定会以更加耦合的方式重现。

编辑:也许django-extra-views可以帮助您。