Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/311.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django中我的控制器逻辑在哪里?_Python_Django_Model View Controller_Architecture - Fatal编程技术网

Python Django中我的控制器逻辑在哪里?

Python Django中我的控制器逻辑在哪里?,python,django,model-view-controller,architecture,Python,Django,Model View Controller,Architecture,我从iOS背景来到Django。作为一名应用程序开发人员,我习惯于清晰定义MVC架构。我的故事板包含我的观点。我的视图控制器包含我的逻辑,我的模型存在于对象关系映射器(ORM)框架或数据库中 在网络上,责任的划分似乎不那么明确。当然,数据库和ORMs是存在的。HTML似乎是我的观点。Django模型似乎就是这样。但是控制器在哪里 我的业务逻辑在哪里?正如其本身所指出的,Django并不完全遵循MVC方法,至少不是以一种简单的方式。(他们认为Django本身就是控制器,但我对MVC的看法并非如此。

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

在网络上,责任的划分似乎不那么明确。当然,数据库和ORMs是存在的。HTML似乎是我的观点。Django模型似乎就是这样。但是控制器在哪里

我的业务逻辑在哪里?

正如其本身所指出的,Django并不完全遵循MVC方法,至少不是以一种简单的方式。(他们认为Django本身就是控制器,但我对MVC的看法并非如此。)

Django中的“控制器”基本上就是Django所称的视图。所以你有你的模型类,很明显是M。模板/HTML基本上是MVC中的V。Django视图(函数或类)实际上是为特定URL运行的回调,它们往往是许多逻辑所在的位置。例如,您将有一个名为get_foo_bar的Django视图,当有人向/foo/bar发出get请求时运行该视图,Django视图实际上成为MVC中的C


长话短说,您的逻辑经常出现在Django视图中。

Django有存储在views.py文件中的控制器,这种命名会给具有某种MVC背景的新手带来一些困惑,您可以在这里阅读: