首页 > 解决方案 > 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 端点,它将处理它并保存到数据库. 你怎么看这样的事情?

标签: djangodjango-rest-frameworkfastapi

解决方案


好吧,所以经过几天的思考后,我决定,我问的问题没有任何意义:) 这里我们应该谈谈微服务架构,这种问题根本不存在。我们所需要的只是使用任何框架(Django、FastAPI、Flask、Ruby 等)在我们的项目中提供尽可能多的服务,并在它们之间建立连接。例如,我可以在端口 8000 上运行我的主 Django 服务器,在端口 5000 上运行我的 FastAPI 服务器,在端口 6000 上运行我的 DRF 服务。然后我可以从我的主 Django 服务器向 FastAPI 和 DRF 端点发出请求,做任何我想做的事情。这是一个非常简单的例子,现在我正在深入研究微服务架构,但这绝对是我需要的。


推荐阅读