问题描述
我可以使用以下命令在Django中创建视图:
- 功能基础视图
- 基本视图
- 通用视图和混合器
- 视图集
现在有什么标准可以告诉我们什么时候应该使用哪种?
为什么我们有这么多类型?
解决方法
没有标准,但是您可以从以下简单策略入手:
- 对模型类的特定操作-generic views(
RetrieveAPIView
,ListAPIView
,UpdateAPIView
等) - 在一堂课中的几项操作和基本CRUD-ViewSets(
ModelViewSet
和ReadOnlyModelViewSet
最有用) - 对1个实例执行一些操作-ViewSet +
@action(detail=True)
- 对几个或所有对象执行某些操作-ViewSet +
@action(detail=False)
- 最简单的自定义操作-再次function based views或
@action
。
也请检查DRF views classes以获得快速概述。