Schnelles, schönes und erweiterbares Verwaltungsschnittstellen-Framework für Starlette- und FastApi-Anwendungen
FastAPI hat sich zu einem beliebten Webframework zum Erstellen von APIs in Python entwickelt. Allerdings fehlt eine ausgereifte Admin-Schnittstellenlösung wie Flask-Admin, um Ihre Daten schnell über eine benutzerfreundliche Oberfläche zu verwalten. Obwohl es Lösungen wie Sqladmin und Fastapi-Admin gibt, funktionieren sie nur mit bestimmten ORMs wie SQLAlchemy und Tortoise ORM.
Starlette-admin entstand aus dem Bedarf an einer FastAPI-Administratorschnittstelle, die mit verschiedenen Datenschichten funktioniert. Ziel ist es, eine Komplettlösung für CRUD-Schnittstellen unabhängig vom Datenbank-Backend bereitzustellen. Starlette-admin funktioniert sofort mit mehreren ORM/ODMs und kann auch mit einer benutzerdefinierten Datenschicht verwendet werden.
$ pip install starlette-admin
$ poetry add starlette-admin
Dies ist ein einfaches Beispiel mit dem SQLAlchemy-Modell
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 )
Greifen Sie in Ihrem Browser unter http://localhost:8000/admin auf Ihre Admin-Oberfläche zu
starlette-admin wird mit anderen Open-Source-Projekten erstellt:
Beiträge sind willkommen und werden sehr geschätzt! Bevor Sie beginnen, lesen Sie bitte unsere Beitragsrichtlinien