<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          原有的 Flask 應(yīng)用如何無縫接入現(xiàn)有 FastAPI 項目

          共 1394字,需瀏覽 3分鐘

           ·

          2021-12-25 08:09

          前天的抽獎結(jié)果比較尷尬,當時是為了測試一下抽獎的流程,自己也參與了下,沒想到中獎的就是自己。這次我決定送兩本《代碼大全2》,對,沒錯,就是下面這本珍藏版,文末抽兩本:

          好了,話不多說。接下來是今天的干貨。

          通常是先使用 Flask 開發(fā)了項目,后來又用 FastAPI 開發(fā)了幾個接口,但是一時半會無法全部遷到 FastAPI,那么就需要讓之前的 Flask 應(yīng)用接入現(xiàn)有的 FastAPI 應(yīng)用,然后有時間了再慢慢遷移。

          比如說你之前的 Flask 項目是這樣的;

          文件名 flask_project.py

          from?flask?import?Flask

          app?=?Flask(__name__)

          @app.route('/')
          def?index():
          ????return?'Flask?Index?Page'

          @app.route('/hello')
          def?hello():
          ????return?'Flask?Hello,?World'

          現(xiàn)在,借助于 FastAPI 的 WSGIMiddleware,我們可以輕松的將 WSGI 應(yīng)用作為 FastAPI 的一個子應(yīng)用。

          編寫?FastAPI 應(yīng)用,只需將原有的 flask app 導入,使用 WSGIMiddleware 包裹起來,放在 FastAPI 的子應(yīng)用里面,代碼如下所示:

          文件名 api.py

          from?fastapi?import?FastAPI
          from?fastapi.middleware.wsgi?import?WSGIMiddleware
          from?flask_project?import?app?as?flask_app


          app?=?FastAPI()

          @app.get("/")
          async?def?root():
          ????return?"FastAPI?index?page"

          app.mount("/flask",?WSGIMiddleware(flask_app))

          現(xiàn)在,只需要運行 uvicorn api:app --host 0.0.0.0 --port 8000 --reload,原來的 Flask app 就運行起來了,是不是很方便?

          當我們訪問 / 時就是 FastAPI 的應(yīng)用,當我們訪問 /flask 時,就是 Flask 應(yīng)用:

          最后的話

          FastAPI 是非常火熱的 Web API 框架,一度超越 Django REST Framework,得益于它的簡潔和高性能,如果你還不熟悉的話,可以去官方網(wǎng)站 https://fastapi.tiangolo.com/ 學習一下,雖說是英文,但是很容易看懂,可以說是保姆級教程,是非常值得學習的技術(shù)棧。

          推薦閱讀:

          開發(fā)環(huán)境下,如何通過一個命令讓 fastapi 和 celery 一起工作

          FastAPI:快速開發(fā)一個文本轉(zhuǎn)語音的接口

          Django,F(xiàn)lask ,F(xiàn)astAPI 怎么選?

          FastAPI框架誕生的緣由(上)

          FastAPI框架誕生的緣由(下)

          最后是今天的送書活動,關(guān)注公眾號「Python七號」回復「送書」即可抽獎。



          瀏覽 50
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  色色色中文字幕 | 人人草,人人摸 | 大香蕉伊人无限 | 夜夜撸夜夜撸 | 狼综合网|