starlette admin
0.14.1
适用于 Starlette 和 FastApi 应用程序的快速、美观且可扩展的管理界面框架
FastAPI 已成为用 Python 构建 API 的流行 Web 框架。然而,它缺乏像 Flask-Admin 这样成熟的管理界面解决方案来通过用户友好的界面快速管理数据。尽管存在 Sqladmin 和 Fastapi-Admin 等解决方案,但它们仅适用于特定的 ORM,例如 SQLAlchemy 和 Tortoise ORM。
Starlette-admin 的诞生源于对可与各种数据层配合使用的 FastAPI 管理界面的需求。它旨在为 CRUD 接口提供完整的解决方案,无论数据库后端如何。 Starlette-admin 开箱即用,可以与多个 ORM/ODM 一起使用,也可以与自定义数据层一起使用。
$ pip install starlette-admin
$ poetry add starlette-admin
这是一个使用 SQLAlchemy 模型的简单示例
from sqlalchemy import create_engine
from sqlalchemy . ext . declarative import declarative_base
from sqlalchemy . orm import Mapped , mapped_column
from starlette . applications import Starlette
from starlette_admin . contrib . sqla import Admin , ModelView
Base = declarative_base ()
engine = create_engine ( "sqlite:///test.db" , connect_args = { "check_same_thread" : False })
# Define your model
class Post ( Base ):
__tablename__ = "posts"
id : Mapped [ int ] = mapped_column ( primary_key = True )
title : Mapped [ str ]
Base . metadata . create_all ( engine )
app = Starlette () # FastAPI()
# Create admin
admin = Admin ( engine , title = "Example: SQLAlchemy" )
# Add view
admin . add_view ( ModelView ( Post ))
# Mount admin to your app
admin . mount_to ( app )
在浏览器中访问您的管理界面:http://localhost:8000/admin
starlette-admin是与其他开源项目一起构建的:
欢迎并高度赞赏您的贡献!在开始之前,请阅读我们的贡献指南