starlette admin
0.14.1
Starlette および FastApi アプリケーション用の高速、美しく、拡張可能な管理インターフェイス フレームワーク
FastAPI は、Python で API を構築するための人気のある Web フレームワークとして登場しました。ただし、ユーザーフレンドリーなインターフェイスを通じてデータを迅速に管理するための Flask-Admin のような成熟した管理インターフェイス ソリューションがありません。 Sqladmin や Fastapi-Admin などのソリューションは存在しますが、それらは SQLAlchemy や Tortoise ORM などの特定の 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 は、他のオープンソース プロジェクトを使用して構築されています。
貢献は大歓迎です。始める前に、投稿ガイドラインをお読みください