在Django中,我的控制器逻辑应该放在哪里?

8

我从iOS背景转向Django。作为一名应用程序开发人员,我习惯于清晰定义的MVC架构。我的故事板包含我的视图。我的视图控制器包含我的逻辑,并且我的模型存在于对象关系映射(ORM)框架或数据库中。

在网络上,责任的分离似乎不那么明显。当然,数据库和ORM存在。HTML似乎是我的视图。 Django模型似乎就是那样。但是控制器在哪里呢?

我的业务逻辑在哪里呢?

2个回答

8

正如Django FAQ所指出的,Django并没有完全遵循MVC模式,至少不是一种直接的方式。(他们认为Django本身就是控制器,但这不是我对MVC的理解。)

Django中的“控制器”基本上就是Django所谓的视图。因此,您有您的模型类,这显然是M。模板/HTML基本上是MVC中的V。Django视图(函数或类)有效地成为特定URL运行的回调,并且它们往往是大量逻辑的所在地。例如,当某人向/foo/bar发出GET请求时,您将拥有一个名为get_foo_bar的Django视图,该Django视图有效地成为MVC中的C。

因此,长话短说,您的逻辑通常会放在Django视图中。


1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接