Introduction

SQLAlchemy Admin for Starlette/FastAPI SQLAdmin 是一个为 SQLAlchemy 模型提供灵活管理界面的工具。

主要特性:

  • 支持 SQLAlchemy 同步/异步引擎

  • 与 Starlette 集成

  • 与 FastAPI 集成

  • 支持 WTForms 表单构建

  • 支持 SQLModel

  • 使用 Tabler UI

文档: https://aminalaee.dev/sqladmin 源码: https://github.com/aminalaee/sqladmin 在线演示: Demo

安装

$ pip install sqladmin
$ pip install sqladmin[full]

快速入门

首先定义一个 SQLAlchemy 模型:

from sqlalchemy import Column, Integer, String, create_engine
from sqlalchemy.orm import declarative_base

Base = declarative_base()
engine = create_engine(
    "sqlite:///example.db",
    connect_args={"check_same_thread": False},
)

class User(Base):
    __tablename__ = "users"

    id = Column(Integer, primary_key=True)
    name = Column(String)

Base.metadata.create_all(engine)  # 创建表

如果你想在 FastAPI 中使用 SQLAdmin:

或者,如果你想在 Starlette 中使用 SQLAdmin:

现在,在浏览器中访问 /admin,即可看到 SQLAdmin 管理界面。

相关项目与灵感来源

  • Flask-Admin: 为 Flask 提供的管理界面,支持多种数据库后端和 ORM。这个项目对 SQLAdmin 有着深远的影响,许多特性和配置与其相似。

  • FastAPI-Admin: 为 FastAPI 提供的管理界面,支持 TortoiseORM。

  • Dashboard: 适用于 ASGI 框架的管理界面,支持 orm 包。

最后更新于