เฟรมเวิร์กอินเทอร์เฟซการดูแลระบบที่รวดเร็ว สวยงาม และขยายได้สำหรับแอปพลิเคชัน Starlette และ FastApi
FastAPI ได้กลายเป็นเฟรมเวิร์กเว็บยอดนิยมสำหรับการสร้าง API ใน Python อย่างไรก็ตาม ยังขาดโซลูชันอินเทอร์เฟซผู้ดูแลระบบที่เป็นผู้ใหญ่เช่น Flask-Admin เพื่อจัดการข้อมูลของคุณอย่างรวดเร็วผ่านอินเทอร์เฟซที่ใช้งานง่าย แม้ว่าจะมีโซลูชันเช่น Sqladmin และ Fastapi-Admin อยู่ แต่จะใช้ได้กับ ORM ที่เฉพาะเจาะจงเท่านั้น เช่น SQLAlchemy และ Tortoise ORM
Starlette-admin เกิดจากความต้องการอินเทอร์เฟซผู้ดูแลระบบ FastAPI ที่ทำงานร่วมกับชั้นข้อมูลต่างๆ โดยมีจุดมุ่งหมายเพื่อมอบโซลูชันที่สมบูรณ์สำหรับอินเทอร์เฟซ CRUD โดยไม่คำนึงถึงแบ็กเอนด์ฐานข้อมูล ผู้ดูแลระบบ Starlette ทำงานนอกกรอบด้วย 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 สร้างขึ้นพร้อมกับโครงการโอเพ่นซอร์สอื่นๆ:
ยินดีมีส่วนร่วมและชื่นชมอย่างมาก! ก่อนเริ่มต้น โปรดอ่านหลักเกณฑ์การสนับสนุนของเรา