我們在構建複雜應用的時候,通常會對工程目錄進行合理組織。
fastapi提供了便利的工具來對應用進行結構化管理,這基本等同於flask的blueprints功能。
.│ ├──
__init__
.py│ ├── main.py
│ └── routers
│ ├──
__init__
.py│ ├── items.py
│ └── users.py
fastapi可以基於apirouter功能對子模組進行組織和管理。
(一)、管理users模組
1、在模組中建立apirouter的例項。
from fastapi importapirouter
router = apirouter()
2、利用apirouter的例項宣告路徑操作
我們可以把apirouter看做乙個"小型fastapi",他們的使用方式完全一樣,他們都支援同樣的選項和附件操作。
@router.get("/users/
", tags=["
users"])
async
defread_users():
return [, ]
@router.get(
"/users/me
", tags=["
users"])
async
defread_user_me():
return
@router.get(
"/users/
", tags=["
users"])
async
defread_user(username: str):
return
(二)、管理items模組
這裡我們省略了路徑字首、tags等資訊。
(三)、應用入口管理
我們在應用入口檔案中將各個模組組織起來。
1、例項主應用
2、匯入各個子模組
from .routers import items, users
我們也可以使用絕對路徑的方式匯入子模組
3、匯入router
從各個子模組中匯入router:
在匯入router的時候,可以重複匯入同樣的router多次,每次字首不同。這樣可以實現在不同的字首下暴露同樣的api。
FastAPI 工程管理 四 工程示例
結合前期學習的過程,整理了乙份工程例項模板,在基於fastapi框架的前提下,參考了flask的一些業務邏輯和檔案配置。在測試環境和生產環境都經過了實際測試,個人認為可以實際應用於正式環境了。工程目錄結構 auth jwt authorization models database models r...
軟體工程 2 專案管理
原創,必究 除了維護,整個軟體生命週期都是圍繞專案來展開的,從立項到產品發布與實施,在這個過程當中,專案管理的範圍主要集中在三個 p上 人員 people 問題 problem 過程 process 以下是專案管理者,通常是專案經理,在整個軟體生命週期中所要做的事 一 專案立項1 專案建議 根據招標...
Makefile工程管理
1 makefile用途 make的工作主要依賴於乙個叫makefile的檔案。makefile檔案描述了整個程式的編譯,鏈結等規則。其中包括 工程中的哪些原始檔需要編譯以及如何編譯,如何最後產生我們想要的可執行檔案。2 makefile中最重要的組成部分是規則 規則 用於說明如何生成目標檔案,規則...