Flask Admin
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
Go to file
NoahLan 69c845aacd docs: 文档整理 2 weeks ago
.codex/skills docs: 文档整理 2 weeks ago
.cursor/rules feat: 修复优化一些逻辑; 自研一个上传算法; 修正gitignore; 切换开发环境为mysql; 4 months ago
.vscode feat: first commit. 7 months ago
copier-template docs: 文档整理 2 weeks ago
docs docs: 文档整理 2 weeks ago
iti docs: 文档整理 2 weeks ago
migrations refactor: 重构框架项目,轻量微服务+copier+底包仓库依赖方式,而非代码直接进入 3 weeks ago
tests docs: 文档整理 2 weeks ago
.env.example refactor: 重构框架项目,轻量微服务+copier+底包仓库依赖方式,而非代码直接进入 3 weeks ago
.gitignore refactor: remove system module and related code 2 weeks ago
LICENSE.txt feat: first commit. 7 months ago
README.md docs: 文档整理 2 weeks ago
pyproject.toml refactor: remove system module and related code 2 weeks ago

README.md

iTi-Flask

iTi-Flask 是基于 APIFlask / Flask 的后端框架基座。

它只提供应用创建、配置、扩展、模块协议、服务调用、任务运行、迁移集成和基础工具。 它不是业务系统。 系统业务能力不在框架内。 需要系统业务时,业务项目使用独立包 iTi-System

技术栈

  • Python 3.11+
  • APIFlask / Flask
  • SQLAlchemy / Flask-Migrate
  • Flask-JWT-Extended
  • Flask-Limiter
  • Flask-Caching
  • Marshmallow
  • httpx
  • uv
  • Copier

安装

框架本地开发:

uv sync --extra dev

业务项目通过 Git tag 依赖框架:

dependencies = [
  "iti-flask @ git+ssh://git@example.com/iTi-Flask.git@v0.1.1",
]

可选依赖按需启用:

uv sync --extra dev --extra mysql --extra image --extra excel

应用工厂

业务项目使用 iti.applications.create_app() 创建 Flask 应用:

from iti.applications import create_app

from config import config
from my_app.models import import_models
from my_app.modules.example.module import ExampleModule

app = create_app(
    config_mapping=config,
    model_imports=[import_models],
    modules=[ExampleModule()],
)

config_mapping 用于传入业务项目自己的配置类。 model_imports 用于让 Alembic 自动发现业务模型。 modules 用于注册进程内业务模块。

业务项目生成

uvx copier copy ./copier-template ../my-business-app

生成后进入业务项目:

cd ../my-business-app
uv sync --extra dev
uv run python -m flask --app app.py db upgrade
uv run python -m flask --app app.py run --debug

文档