Django中的泛型,视图,视图集和Mixins有什么区别?

pbr*_*eak 2 python django views django-rest-framework difference

我是Django和Django-Rest的新手。我对何时应该使用它们感到困惑?它们的优缺点是什么?我只看过这个-http://www.cdrf.co

我唯一知道的是有很多方法可以做一件事情。但这对我来说完全不清楚。

The*_*der 5

在Django中,我们经常在项目中将这四个术语用于不同的目的。我试图通过指向每个术语的详细描述的链接来收集和共享实际含义。请检查是否对您有帮助。

通用视图:

“ Django的通用视图...是作为通用用法模式的快捷方式而开发的...它们采用了视图开发中发现的某些通用习语和模式,并对它们进行了抽象,以便您可以快速编写通用数据视图而不必重复自己。” —  Django文档

了解更多详情

观看次数:

视图函数(或简称视图)只是一个Python函数,它接受Web请求并返回Web响应。此响应可以是网页的HTML内容,重定向,404错误,XML文档或图像。。。真的。视图本身包含返回该响应所需的任何任意逻辑。该代码可以存在于您想要的任何地方,只要它在Python路径上即可。可以说,没有其他要求-没有“魔术”。为了将代码放置在某处,约定是将视图放置在项目或应用程序目录中的名为views.py的文件中。

了解更多详情

视图集:

Django REST框架允许您在一个称为ViewSet的类中将一组相关视图的逻辑组合在一起。在其他框架中,您可能还会发现概念上类似的实现,它们的名称类似于“资源”或“控制器”。ViewSet类只是基于类的View的一种,它不提供任何方法处理程序,例如.get()或.post(),而是提供诸如.list()和.create()的操作。

ViewSet的方法处理程序仅在使用.as_view()方法在最终确定视图时绑定到相应的操作。

了解更多详情

Mixins:

mixin类提供用于提供基本视图行为的操作。请注意,mixin类提供了操作方法,而不是直接定义处理程序方法,例如.get()和.post()。这样可以更灵活地构成行为。可以从rest_framework.mixins导入mixin类。

了解更多详情