FastAPI(3)- uvicorn.run()


Uvicorn

  • 基於 uvloop 和 httptools 構建的非常快速的 ASGI 服務器
  • 不是一個 Web 框架,而是一個服務器
  • 例如,它不是一個提供路徑路由的框架,這是 FastAPI 框架提供的東西
  • 它是 Starlette 和 FastAPI 的推薦使用的服務器

 

總結

uvicorn 是運行 FastAPI 應用程序的主要 Web 服務器,uvicorn 和 Gunicorn 結合使用,擁有一個異步多進程服務器

 

什么是 ASGI、WSGI

https://www.cnblogs.com/poloyy/p/15291403.html

 

最簡單的 FastAPI 代碼

from fastapi import FastAPI

app = FastAPI()


@app.get("/")
async def root():
    return {"message": "Hello World"}

 

啟動 uvicorn

進到 py 文件所處目錄下的命令行運行

uvicorn main:app

 

能不能不用命令行方式運行呢,否則太不方便了

可以!

 

使用 uvicorn.run()

from fastapi import FastAPI

app = FastAPI()


@app.get("/")
async def root():
    return {"message": "Hello World"}


if __name__ == '__main__':
    uvicorn.run(app="2_get:app", host="127.0.0.1", port=8080, reload=True, debug=True)
  • 這樣就不用敲命令行啦
  • uvicorn 有什么命令行參數,run() 方法就有什么參數

 

uvicorn 常用參數

參數 作用
app 運行的 py 文件:FastAPI 實例對象
host 訪問url,默認 127.0.0.1
port 訪問端口,默認 8080
reload 熱更新,有內容修改自動重啟服務器
debug 同 reload
reload_dirs 設置需要 reload 的目錄,List[str] 類型
log_level 設置日志級別,默認 info

用到什么再補吧,暫時只用上這么多

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM