django - Django、FastAPI 和 DRF
问题描述
我想做一个项目,它使用 Django 作为后端,PostgreSQL 作为数据库,FastAPI 和 Django REST Framework for REST。仅使用 Django、DRF 和 Postgres 制作项目不会有任何问题,但同时谈到 FastAPI 和 DRF 时会遇到困难。所以将Postgres连接到Django没有问题,为DRF做端点也没有问题。但是我怎样才能连接fastapi?在哪里放置端点以及如何将所有这些东西一起运行?在一些示例中,我看到 FastAPI 实例是在 WSGI.py 中启动的,然后服务器通过调用如下命令运行:
uvicorn goatfish.wsgi:app
但是我不确定当我混合的不仅仅是 Django 和 FastAPI 时它是否会像这样工作。我想使用 FastAPI 进行光学字符识别,使用 DRF 进行用户注册、登录等。关于制作具有这种结构的项目有什么建议吗?或者也许有人在 github 上有一个包含此类项目的存储库?
编辑:希望在这里看到答案,但现在我只看到制作经典 Django + DRF 应用程序的解决方案,然后制作带有端点的 FastAPI 应用程序,在不同的端口上运行这些应用程序并执行一些操作链:从 django 应用程序我们加载一个图像到表单,当我们提交这个表单时,我们发送 POST 请求到 FastAPI 端点,它将运行 OCR 过程,然后返回带有识别文本的 JSON,然后将此 JSON 发送到 Django Callback 端点,它将处理它并保存到数据库. 你怎么看这样的事情?
解决方案
好吧,所以经过几天的思考后,我决定,我问的问题没有任何意义:) 这里我们应该谈谈微服务架构,这种问题根本不存在。我们所需要的只是使用任何框架(Django、FastAPI、Flask、Ruby 等)在我们的项目中提供尽可能多的服务,并在它们之间建立连接。例如,我可以在端口 8000 上运行我的主 Django 服务器,在端口 5000 上运行我的 FastAPI 服务器,在端口 6000 上运行我的 DRF 服务。然后我可以从我的主 Django 服务器向 FastAPI 和 DRF 端点发出请求,做任何我想做的事情。这是一个非常简单的例子,现在我正在深入研究微服务架构,但这绝对是我需要的。
推荐阅读
- mongodb - Marshal/Unmarshal bson 中的类型别名
- vue.js - 如何在 Vue Cli 项目的 Vue 实例中渲染数据
- java - 向 Intent 发送 ArrayList
> - ios - Branch.io $deeplink_path 中缺少 URI 方案
- python - python pandas通过评估表达式添加新的计算列(其他列的组合)
- django - ListView 上的 NoReverseMatch 与表单
- javascript - 下拉选择菜单,如何从出现的可选/其他文本框中检索值
- php - PHP对数组中数组的第二个元素进行排序
- javascript - 如何解析像c#float这样的javascript中的float?
- python-3.x - 如何在运行时应用程序中使用 opencv python 在图像上写入文本