我们什么时候需要在Django中基于类的视图?

时间:2015-11-12 17:12:03

标签: django python-3.x

我正在学习Django,我已经完成了2个教程 - 官方和惊人的教程,名为Tango With Django。虽然,我得到了我需要工作的一切,但我有一个问题:

在Tango中使用Django不使用基于类的视图 - 只链接到官方教程。

为什么他们不包含这些信息?

我们何时应该使用基于类的视图,这是一个好习惯吗?

3 个答案:

答案 0 :(得分:2)

基于类的视图允许您通过利用继承和mixin来构建视图并重用代码。 https://docs.djangoproject.com/en/1.8/topics/class-based-views/

例如,您可以从“TemplateView”类继承,该类提供了您可能需要在自己的视图中使用的一些功能。例如,您可以重复使用“get”方法。

# some_app/views.py
from django.views.generic import TemplateView

class AboutView(TemplateView):
    template_name = "about.html"

答案 1 :(得分:1)

我们使用基于类的视图(CBV' s)来减少执行重复任务所需的代码量,例如呈现表单或模板,列出查询集中的项目等。

使用CBV可以大大减少所需的代码量,应该尽可能地使用。

答案 2 :(得分:0)

在CRM系统中使用是很好的。您有一个列表视图,项目视图,删除视图等,如博客。 CBV可以帮助您编写更少的代码。

但也因为它对你做了太多。有时候做一些自定义或添加一些额外的逻辑会有点麻烦。在这种情况下,它更适合那些真正熟悉和熟悉CBV的人,以便他们可以轻松地改变它。