使用Django Rest Framework实现MVC模式

3

我在想如何在Django Api项目中实现MVC模式。当我开始一个Django项目时,它会给我apps.py、admin.py、models.py和views.py文件,我知道模型应该是“M”,视图应该是“V”,但是因为我像使用这个项目作为api,所以视图将是一个Angular或React App,那么我在哪里放置逻辑呢?在Django rest framework项目中,将控制器“C”放在哪里是正确的?是在views.py中吗?

1个回答

4
你需要了解的是,Web服务(你将使用Django实现)和客户端应用程序(你将使用Angular实现)是完全不同的应用程序,它们不应该相互依赖。这些应用程序将拥有自己的模型(Models)、视图(Views)和控制器(Controllers)。
如果我们谈论一些需要存储在后端的业务逻辑,那么你可以采用一种方法,在额外的层次上进行设计(通常称为services.py),并且你将从这一层中导入代码到views.py中,仅在那里调用它,因为你的视图应该尽可能保持干净和简单。
在理想情况下,特别是在开始阶段,我想你不会有一些棘手的逻辑,大多数情况下,你的API看起来像一个简单的CRUD,所以对于那种情况,你甚至不需要在其他地方存储额外的逻辑,你只需使用rest框架的ViewSets即可,并将一些小片段存储在utils.py中。
重点是 - 你不理解基础知识,所以你问了错误的问题。而且你现在不需要理解。只需去编写你的应用程序并阅读你使用的框架文档,最终,你会理解这个话题。

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