Cadre d'interface d'administration rapide, esthétique et extensible pour les applications Starlette et FastApi
FastAPI est devenu un framework Web populaire pour créer des API en Python. Cependant, il lui manque une solution d'interface d'administration mature comme Flask-Admin pour gérer rapidement vos données via une interface conviviale. Bien que des solutions comme Sqladmin et Fastapi-Admin existent, elles ne fonctionnent qu'avec des ORM spécifiques tels que SQLAlchemy et Tortoise ORM.
Starlette-admin est né du besoin d'une interface d'administration FastAPI qui fonctionne avec différentes couches de données. Il vise à fournir une solution complète pour les interfaces CRUD quel que soit le backend de la base de données. Starlette-admin fonctionne immédiatement avec plusieurs ORM/ODM et peut également être utilisé avec une couche de données personnalisée.
$ pip install starlette-admin
$ poetry add starlette-admin
Ceci est un exemple simple avec le modèle 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 )
Accédez à votre interface d'administration dans votre navigateur à l'adresse http://localhost:8000/admin
starlette-admin est construit avec d'autres projets open source :
Les contributions sont les bienvenues et grandement appréciées ! Avant de commencer, veuillez lire nos directives de contribution