إطار واجهة إدارية سريع وجميل وقابل للتوسيع لتطبيقات Starlette وFastApi
لقد برز FastAPI كإطار عمل ويب شائع لبناء واجهات برمجة التطبيقات في Python. ومع ذلك، فهو يفتقر إلى حل واجهة إداري ناضج مثل Flask-Admin لإدارة بياناتك بسرعة من خلال واجهة سهلة الاستخدام. على الرغم من وجود حلول مثل Sqladmin وFastapi-Admin، إلا أنها تعمل فقط مع ORMs محددة مثل 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 باستخدام مشاريع أخرى مفتوحة المصدر:
المساهمات هي موضع ترحيب وتقدير كبير! قبل البدء، يرجى قراءة إرشادات المساهمة الخاصة بنا