fastapi脚手架,一键生成项目与api,开箱即用

avatar
作者
筋斗云
阅读量:0

fastapi非常奈斯,作为API开发那是相当优秀的框架,但我们在开发过程中,前期搭建会花费大量的时间,且还不尽人意。

为此我集成了fastapi-scaf一键生成项目与api,让开发变得更简单。

What is this?

Installation

This package can be installed using pip (>=Python3.9):

pip install fastapi-scaf

Scaf Usage

  • 1)new project
    • fastapi-scaf new <project_name>
  • 2)add api
    • cd to project root dir
    • fastapi-scaf add <api_name>

Project Run

  • 1)cd to project root dir
  • 2)execute command:
    • cd app
    • pip install -r requirements.txt
    • uvicorn main:app --host=0.0.0.0 --port=8000 --log-level=debug --log-config=../config/uvicorn_logging.json --workers=5
    • more info: https://www.uvicorn.org/

Project Structure

  • ABD: ABD模式
    • A api
    • B business
    • D datatype
  • 调用过程: main.py(initializer) - router(middleware) - api - business - (datatype)
  • 结构如下: (命名经过多次修改敲定,简洁易懂,ABD目录贴合避免杂乱无章)
    └── fastapi-scaf     ├── app                         (应用)     │   ├── api                     ├── (api)     │   │   └── v1                  │   └── (v1)     │   ├── business                ├── (业务)     │   ├── datatype                ├── (数据类型)     │   ├── initializer             ├── (初始化)     │   │   ├── conf                │   ├── (配置)     │   │   ├── db                  │   ├── (数据库)     │   │   ├── logger              │   ├── (日志)     │   │   └── ...                 │   └── (...)     │   ├── middleware              ├── (中间件)     │   ├── router                  ├── (路由)     │   └── utils                   └── (utils)     ├── config                      (配置目录)     ├── deploy                      (部署目录)     ├── docs                        (文档目录)     ├── log                         (日志目录)     ├── .gitignore     ├── LICENSE     └── README.md 

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!