什么';django中class或def的区别是什么

什么';django中class或def的区别是什么,django,class,function,Django,Class,Function,我读了django的书,有些观点把我弄糊涂了 一个是,当我们创建form.py或models.py时,我们在其中编写类,但有一个def使网站上显示的视图发生在view.py中 那么有什么区别呢?如果我在我的view.py中定义了一些类,我可以使用它们吗 是的,你可以使用它们。不过,建议您使用Django创建的结构,这使其他程序员更容易理解 我认为您还应该阅读一些基本的python教程。是的,您可以使用基于类的视图,但它们是非常新的概念 我个人认为函数更容易编写,django本身在其代码库中使用

我读了django的书,有些观点把我弄糊涂了

一个是,当我们创建form.py或models.py时,我们在其中编写类,但有一个def使网站上显示的视图发生在view.py中


那么有什么区别呢?如果我在我的view.py中定义了一些类,我可以使用它们吗

是的,你可以使用它们。不过,建议您使用Django创建的结构,这使其他程序员更容易理解


我认为您还应该阅读一些基本的python教程。

是的,您可以使用基于类的视图,但它们是非常新的概念


我个人认为函数更容易编写,django本身在其代码库中使用的函数远远多于基于类的视图。

模型代表数据库。每个模型都是一个数据库表。模型类的对象只是数据库中的一行。因此,每次实例化模型类的对象时,实际上都是在为表创建一个条目(即一行)。因此,用类表示模型是有意义的。用函数表示将毫无意义

视图可以用函数和类表示:

1。功能

对URL的请求由函数视图处理。它接受请求,处理数据,并通过模板输出结果。作为初学者,这是实现视图的最简单方法。先练习并理解这个

2。基于类的视图

视图也可以表示为。阅读文档,发现它们是创建的,因为有时功能视图总是遵循相同的模式。CBV的引入是为了让生活更轻松,同时尊重干燥(不要重复)原则。然而,乍一看,这些都有点难以理解。我建议您在理解功能视图之后开始学习它们

[编辑]

对不起,我告诉过你关于
模型的事,而不是
表单的事。但这也是同样的原因。表单被表示为类,因为您正在实例化该表单的条目