在现代应用开发中,快速构建高效的后台管理系统是每个开发者追求的目标。随着技术的不断进步,越来越多的框架应运而生。在众多选项中,fastapi-amis-admin
因其高性能、高效率的特点,成为了许多开发者的新宠。本文将详细介绍这一框架的特点、安装方法及简单示例,以帮助开发者快速上手。
框架背景及功能概述
fastapi-amis-admin
是一个基于 FastAPI 和 Amis 的高性能框架,支持 Python 3.7 及以上版本。其开发初衷是旨在改善应用生态,实现快速生成功能强大的可视化管理后台。遵循 Apache 2.0 开源协议,该项目对外开放,鼓励社区的支持和资助。
本框架的主要特色包括:
• 高性能:得益于 FastAPI,提供了极高的性能。
• 高效率:通过完善的类型提示,大幅提升代码复用率。
• 同步与异步混合编写支持:基于 SQLModel 和 SQLAlchemy,自定义数据库类型,自由选择同步或异步模式,具备良好的可扩展性。
• 前后端分离:前端由 Amis 渲染,后端接口由 fastapi-amis-admin 自动生成,实现接口重用。
• 强可扩展性:后台页面支持 Amis 页面和普通 HTML 页面,方便灵活地自定义界面。
• 自动 API 文档:通过 FastAPI 自动生成文档,便于调试和共享接口。
依赖项与模块构成
fastapi-amis-admin
主要由三个核心模块组成:
• Amis:基于百度的 Pydantic 数据模型构建库,用于快速生成和解析数据。
• CRUD:基于 FastAPI 和 SQLAlchemy,用于快速构建常见的 CRUD API 接口。
• Admin:受 Django-Admin 启发,将 Amis 和 CRUD 结合,快速构建 Web 管理后台。
安装与基本示例
要安装 fastapi-amis-admin
,可以使用以下命令:
pip install fastapi_amis_admin
如果需要使用 SQLModel 创建模型,则可安装:
pip install fastapi_amis_admin[sqlmodel]
下面是一个简单的示例,演示如何创建一个 FastAPI 应用并集成 AdminSit。
from fastapi importFastAPI
from fastapi_amis_admin.admin.settings importSettings
from fastapi_amis_admin.admin.site importAdminSite
app =FastAPI()
site =AdminSite(settings=Settings(database_url_async='sqlite+aiosqlite:///amisadmin.db'))
site.mount_app(app)
if __name__ =='__main__':
import uvicorn
uvicorn.run(app)
模型与表单管理示例
在 fastapi-amis-admin
中,可以方便地使用 SQLModel 或 SQLAlchemy 模型。以下是使用 SQLModel 创建模型的示例:
from sqlmodel importSQLModel,Field
from typing importOptional
classCategory(SQLModel, table=True):
id:Optional[int]=Field(default=None, primary_key=True, nullable=False)
name:str=Field(title='CategoryName', max_length=100, unique=True, index=True, nullable=False)
description:str=Field(default='', title='Description', max_length=255)
同时,框架还支持通过表单接收用户输入。
总结
fastapi-amis-admin
作为一个高性能的框架,为开发者提供了构建后台管理系统的强大工具。其高效的代码设计,完善的自动文档生成功能以及灵活的接口定义方式,使得开发过程变得简单而高效。对于希望快速启动后台管理项目的开发者来说,它无疑是一个值得尝试的选择。
项目地址:https://github.com/amisadmin/fastapi-amis-admin