您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

Django中的类视图

Django中的类视图

我已经创建并使用了自己的通用视图类,进行了定义, 因此该类的实例是可调用的。我很喜欢; 虽然Django的通用视图允许通过关键字参数进行一些自定义,但是OO通用视图(如果将其行为拆分为多个单独的方法)可以通过子类进行更细粒度的自定义,这使我重复了很多。(我厌倦了在需要调整Django通用视图所不允许的任何东西时重写相同的create / update视图逻辑)。

我已经在djangosnippets.org上发布了一些代码

我看到的唯一真正的缺点是内部方法调用的激增,这可能会在一定程度上影响性能。我认为这不是什么大问题。很少有Python代码执行会成为Web应用程序中的性能瓶颈。

:Django自己的通用视图现在基于类。

:FWIW,自编写此答案以来,我已经改变了对基于类的观点的看法。在几个项目中广泛使用它们之后,我觉得它们倾向于导致令人满意地DRY编写的代码,但是以后很难阅读和维护,因为功能分布在许多不同的地方,并且子类是如此依赖有关超类和混合的每个实现细节。我现在觉得TemplateResponse和视图装饰器是分解视图代码的更好答案。

Go 2022/1/1 18:26:58 有315人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶