# sqladmin **Repository Path**: watching/sqladmin ## Basic Information - **Project Name**: sqladmin - **Description**: FastAPI/Starlette 的后台管理界面。这是一个灵活的 SQLAlchemy 管理后台,采用 Tabler 构建 Web 界面,支持集成到 FastAPI 和 Starlette,实现类似 Django 内置的管理后台功能 - **Primary Language**: Python - **License**: BSD-3-Clause - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-11-30 - **Last Updated**: 2025-04-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README

Build Status Publish Status Coverage Package version Supported Python versions

--- # SQLAlchemy Admin for Starlette/FastAPI SQLAdmin is a flexible Admin interface for SQLAlchemy models. Main features include: * [SQLAlchemy](https://github.com/sqlalchemy/sqlalchemy) sync/async engines * [Starlette](https://github.com/encode/starlette) integration * [FastAPI](https://github.com/tiangolo/fastapi) integration * [WTForms](https://github.com/wtforms/wtforms) form building * [SQLModel](https://github.com/tiangolo/sqlmodel) support * UI using [Tabler](https://github.com/tabler/tabler) --- **Documentation**: [https://aminalaee.dev/sqladmin](https://aminalaee.dev/sqladmin) **Source Code**: [https://github.com/aminalaee/sqladmin](https://github.com/aminalaee/sqladmin) **Online Demo**: [Demo](https://sqladmin-demo.aminalaee.dev/admin/) --- ## Installation Install using `pip`: ```shell $ pip install sqladmin ``` This will install the full version of sqladmin with optional dependencies: ```shell $ pip install "sqladmin[full]" ``` --- ## Screenshots sqladmin-1 sqladmin-2 ## Quickstart Let's define an example SQLAlchemy model: ```python 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) # Create tables ``` If you want to use `SQLAdmin` with `FastAPI`: ```python from fastapi import FastAPI from sqladmin import Admin, ModelView app = FastAPI() admin = Admin(app, engine) class UserAdmin(ModelView, model=User): column_list = [User.id, User.name] admin.add_view(UserAdmin) ``` Or if you want to use `SQLAdmin` with `Starlette`: ```python from sqladmin import Admin, ModelView from starlette.applications import Starlette app = Starlette() admin = Admin(app, engine) class UserAdmin(ModelView, model=User): column_list = [User.id, User.name] admin.add_view(UserAdmin) ``` Now visiting `/admin` on your browser you can see the `SQLAdmin` interface. ## Related projects and inspirations * [Flask-Admin](https://github.com/flask-admin/flask-admin) Admin interface for Flask supporting different database backends and ORMs. This project has inspired SQLAdmin extensively and most of the features and configurations are implemented the same. * [FastAPI-Admin](https://github.com/fastapi-admin/fastapi-admin) Admin interface for FastAPI which works with `TortoiseORM`. * [Dashboard](https://github.com/encode/dashboard) Admin interface for ASGI frameworks which works with the `orm` package.