首页 > 解决方案 > 使用 Django Rest Framework 实现 MVC 模式

问题描述

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

标签: djangomodel-view-controllerdjango-rest-framework

解决方案


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

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

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

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


推荐阅读