Django 中的自定义与通用视图

Posted

技术标签:

【中文标题】Django 中的自定义与通用视图【英文标题】:Custom vs Generic Views in Django 【发布时间】:2020-03-26 16:43:42 【问题描述】:

问题是关于通用视图及其在实践中的使用。它们被呈现为编写自定义视图的更好、更清洁、替代方案,但是它们似乎并不只是简单的视图代码,而且看起来非常具体。那么在实践中,这些通用视图是否被广泛使用,而自定义视图仅针对非常特定的情况编写?还是相反,通用视图仅适用于极简主义者/案例特定需求?

【问题讨论】:

通用视图被广泛使用,它们涵盖了最常见的用例。它们在哪些方面没有简化您的观点? 问题是,他们看起来那样,但他们做你想做的一切。它们具有您在自定义视图中可以想到的所有方法。试一试,你会感到惊讶.... 好吧,在实践中,有足够的通用视图可以涵盖几乎所有用例,因此很少使用自定义视图? 【参考方案1】:

对于任何后端应用程序来说,最常见的操作是创建、读取、更新和删除——通常称为 CRUD 操作。这些将涵盖您 API 的几乎所有用例。通用视图为这些操作提供方法等等,这意味着您不必在整个应用程序中一遍又一遍地重复相同的代码。 DRF 提供的这些类和方法也是可扩展的,允许您根据需要更改它们。

【讨论】:

我知道它们是什么/它们的用途,我的问题更多是关于它们在实践中的使用

以上是关于Django 中的自定义与通用视图的主要内容,如果未能解决你的问题,请参考以下文章

通用视图的 Django REST API 自定义方法

按 django admin 中的自定义列表显示字段进行列表过滤

Django视图的自定义呈现函数

将快餐栏中的 ImageView 宽度与 Android 中的自定义视图匹配父项不起作用

基于列表显示中的自定义可调用在 Django Admin 中排序

带有来自模型的自定义验证消息的 Django 1.5 基于类的视图