使用 Django Rest Framework 实现 MVC 模式

Edu*_*ipe 3 django model-view-controller django-rest-framework

我想知道如何在 Django Api 项目上实现 MVC 模式,当我启动 django 项目时,它为我提供了 apps.py、admin.py、models.py 和views.py,我了解模型,应该是“M”,视图是“V”,但是当我像 API 一样使用该项目时,视图将是 Angular 或 React 应用程序,所以我把逻辑放在哪里?在 django Rest 框架项目上放置“C”控制器的正确位置是在views.py 上吗?

Gre*_*eev 5

您需要了解 Web 服务(您将使用 来实现Django)和客户端应用程序(您将使用 来实现Angular)是完全不同的应用程序,它们不应该相互依赖。这些应用程序将有自己的ModelsViewsControllers

如果我们正在谈论一些需要存储在后端某处的业务逻辑,那么您可以使用一种方法,您将有一个额外的级别(通常,人们称之为services.py),并且您将从该层导入代码views.py并仅调用它因此你的视图应该尽可能保持干净和简单。

在理想的情况下,特别是在开始时,我想,您不会有一些棘手的逻辑,并且大多数情况下您的逻辑API看起来很简单CRUD,因此对于这种情况,您甚至不需要在可以使用的地方存储额外的rest framework ViewSets逻辑是并在 中存储一些小片段utils.py

最重要的是——你不了解基本原理,这就是你问错误问题的原因。而且你现在不需要它。只需去编写您的应用程序并阅读有关您正在使用的框架的文档,最终您就会理解这个主题。