一个简单的 drf 模板,面向场景为企业内部服务 API,跳过新建项目和集成等琐碎步骤。
- 接口仅允许 OIDC 登录,客户端依赖 Authlib
- Admin 使用 Unfold Admin
- 日志使用 django-structlog
- 日志写入类使用 utils/log.py.SharedThreadedTimeRotatingHandler (因为 Python 自带的并非多进程安全)
- 接口文档 (Swagger, Redoc, Scalar) 和 Celery Flower 以 iframe 方式集成到 Admin
- celery [文档 | 文档 With Django]
- django-debug-toolbar [文档]
- django-import-export [文档]
- django-structlog [文档]
- django-rest-framework [文档]
- drf-spectacular [文档]
- django-unfold [文档]
-
使用 uv 安装 cookiecutter
uv tool install cookiecutter --with jinja2-strcase --with tomlkit
-
使用此模板
cookiecutter https://github.com/ClanEver/clanever-drf-template.git
-
更改 settings.py 然后在开发环境中运行
# 创建迁移并应用迁移 mise run dev_mnm # 运行服务器 mise run dev
-
[可选] 使用应用模板
mise run startapp # 或 cookiecutter https://github.com/ClanEver/clanever-drf-app-template.git