Marco de interfaz administrativa rápido, hermoso y extensible para aplicaciones Starlette y FastApi
FastAPI se ha convertido en un marco web popular para crear API en Python. Sin embargo, carece de una solución de interfaz de administración madura como Flask-Admin para administrar rápidamente sus datos a través de una interfaz fácil de usar. Aunque existen soluciones como Sqladmin y Fastapi-Admin, solo funcionan con ORM específicos como SQLAlchemy y Tortoise ORM.
Starlette-admin nació de la necesidad de una interfaz de administración FastAPI que funcione con varias capas de datos. Su objetivo es proporcionar una solución completa para interfaces CRUD independientemente del backend de la base de datos. Starlette-admin funciona de inmediato con múltiples ORM/ODM y también se puede usar con una capa de datos personalizada.
$ pip install starlette-admin
$ poetry add starlette-admin
Este es un ejemplo simple con el modelo 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 )
Acceda a su interfaz de administración en su navegador en http://localhost:8000/admin
starlette-admin está construido con otros proyectos de código abierto:
¡Las contribuciones son bienvenidas y muy apreciadas! Antes de comenzar, lea nuestras pautas de contribución.