# fastapi-config **Repository Path**: jianfeihua/fastapi-config ## Basic Information - **Project Name**: fastapi-config - **Description**: No description available - **Primary Language**: Python - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-08-06 - **Last Updated**: 2025-08-06 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README [简体中文](https://github.com/amisadmin/fastapi_config/blob/master/README.zh.md) | [English](https://github.com/amisadmin/fastapi_config)

FastAPI-Config

Package version Downloads Chat on Gitter 229036692

## 项目介绍 `FastAPI-Config`是一个基于`FastAPI-Amis-Admin`的可视化动态配置管理拓展包. ## 安装 ```bash pip install fastapi-config ``` ## 简单示例 **main.py**: ```python from fastapi import FastAPI from fastapi_amis_admin import amis from fastapi_amis_admin.admin import Settings, AdminSite from fastapi_amis_admin.models import Field from fastapi_config import ConfigModelAdmin, DbConfigStore, ConfigAdmin from sqlmodel import SQLModel from pydantic import BaseModel from typing import List # 创建`FastAPI`应用 app = FastAPI() # 创建`AdminSite`实例 site = AdminSite(settings=Settings(database_url_async='sqlite+aiosqlite:///amisadmin.db')) # 创建配置存储库 dbconfig = DbConfigStore(site.db) # 注册管理页面(可选) site.register_admin(ConfigModelAdmin) class ContactCfg(BaseModel): name: str = Field("", title="联系人") qq: List[str] = Field("", title="QQ") class SiteCfg(BaseModel): name: str = Field(..., title="网站名称") logo: str = Field("", title="网站LOGO", amis_form_item=amis.InputImage()) contacts: List[ContactCfg] = Field([], title="客服列表") domains: List[str] = Field([], title='域名列表') class SiteCfgAdmin(ConfigAdmin): page_schema = amis.PageSchema(label='站点信息') schema = SiteCfg site.register_admin(SiteCfgAdmin) @app.get('/config') async def read_config(): return await dbconfig.get(SiteCfg) @app.on_event("startup") async def startup(): # 挂载后台管理系统 site.mount_app(app) # 创建数据库表(第一次运行时需要) await site.db.async_run_sync(SQLModel.metadata.create_all, is_session=False) if __name__ == '__main__': import uvicorn uvicorn.run(app, debug=True) ``` ## 界面预览 - Open `http://127.0.0.1:8000/admin/` in your browser: ![SchedulerAdmin](https://img-blog.csdnimg.cn/0e3b49a10f2d4f65977b60b3fc35057f.png#pic_center) ## 依赖项目 - [FastAPI-Amis-Admin](https://docs.amis.work/) ## 许可协议 该项目遵循 Apache2.0 许可协议。