【问题标题】:Django, FastAPI and DRFDjango、FastAPI 和 DRF
【发布时间】:2021-06-02 20:34:34
【问题描述】:

我想做一个项目,它使用 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 django-rest-framework fastapi


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      我想,你可以:

      1. fastapi+django 的组合。但这只是为了替换 DRF 并使用 fastapi 作为 rest 框架。
      2. 微服务。您可以在一个端口上运行 Django,fastapi - 另一个。两者都可以使用一个共享数据库。
      3. 微服务。全部来自第 2 点,但 Django 上的一些 api 任务(例如登录/注册)和 fastapi 上的另一个任务。

      【讨论】:

        猜你喜欢
        • 2022-12-25
        • 1970-01-01
        • 2017-04-06
        • 2018-06-10
        • 2020-01-14
        • 2019-03-16
        • 1970-01-01
        • 2023-03-07
        • 2019-06-11
        相关资源
        最近更新 更多