项目概述
Dash-FastAPI-Admin是一个基于Dash+FastAPI前后端分离的纯Python快速开发框架,专门为中后台管理系统设计。该项目采用现代化的技术栈,提供完整的用户管理、权限控制、数据可视化等功能。
核心特性
技术架构优势
- 前后端分离设计:前端使用Dash框架,后端基于FastAPI构建
- 纯Python开发:无需学习其他语言,使用Python即可完成全栈开发
- 高性能API服务:FastAPI提供自动API文档生成和类型检查
- 丰富UI组件:集成feffery-antd-components和feffery-utils-components
系统功能模块
- 用户管理:完整的用户配置和权限分配系统
- 角色管理:菜单权限分配和数据范围权限划分
- 菜单管理:系统菜单配置、操作权限和按钮权限标识
- 部门管理:系统组织机构配置(公司、部门、小组)
- 岗位管理:系统用户所属担任职务管理
快速开始
环境准备
确保系统已安装Python 3.9或更高版本,并准备好MySQL 5.7+或PostgreSQL数据库环境。
项目部署步骤
- 获取项目代码
git clone https://gitcode.com/gh_mirrors/da/Dash-FastAPI-Admin.git
cd Dash-FastAPI-Admin
- 安装依赖环境 根据使用的数据库类型选择对应的依赖文件:
# MySQL数据库
pip3 install -r requirements.txt
# PostgreSQL数据库
pip3 install -r requirements-pg.txt
- 数据库初始化
- 新建数据库
dash-fastapi(默认名称,可修改) - 运行对应的SQL文件:
- MySQL:执行
sql/dash-fastapi.sql - PostgreSQL:执行
sql/dash-fastapi-pg.sql
- MySQL:执行
- 配置应用环境
- 前端配置:在
dash-fastapi-frontend/.env.dev文件中配置开发模式信息 - 后端配置:在
dash-fastapi-backend/.env.dev文件中配置数据库和Redis环境
开发模式运行
前端启动
cd dash-fastapi-frontend
python3 app.py --env=dev
后端启动
cd dash-fastapi-backend
python3 app.py --env=dev
系统功能详解
用户管理体系
系统提供完整的用户生命周期管理,包括用户注册、登录、权限分配、密码重置等功能。用户信息与角色、部门、岗位进行关联,实现精细化的权限控制。
数据字典管理
对系统中经常使用的一些较为固定的数据进行维护,提高系统的可配置性和可维护性。
系统监控功能
- 服务监控:实时监视系统CPU、内存、磁盘、堆栈等相关信息
- 缓存监控:对系统的缓存信息查询和命令统计
- 在线用户:当前系统中活跃用户状态监控
日志管理系统
- 操作日志:记录系统正常操作和异常信息
- 登录日志:包含登录异常情况的日志查询
高级功能
定时任务调度
系统支持在线添加、修改、删除任务调度,并包含执行结果日志记录功能。
通知公告系统
提供系统通知公告信息的发布和维护功能,确保重要信息及时传达。
系统接口文档
根据业务代码自动生成相关的API接口文档,便于前后端协作和接口调试。
生产环境部署
Nginx配置建议
使用Nginx进行反向代理部署,参考配置如下:
server {
location / {
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://127.0.0.1:8088/;
}
location /prod-api {
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
}
}
生产模式运行
前端生产部署
cd dash-fastapi-frontend
python3 wsgi.py --env=prod
后端生产部署
cd dash-fastapi-backend
python3 app.py --env=prod
访问信息
- 默认账号:admin
- 默认密码:admin123
- 访问地址:http://127.0.0.1:8088
项目优势总结
Dash-FastAPI-Admin框架具有以下显著优势:
- 开发效率高:纯Python技术栈,减少学习成本
- 功能完整:提供企业级后台管理系统所需的所有核心功能
- 扩展性强:模块化设计便于功能扩展和定制
- 维护简单:清晰的代码结构和完整的文档支持
技术实现要点
前端架构
- 基于Dash框架构建单页面应用
- 使用Ant Design风格的UI组件
- 支持动态权限菜单加载
- 多方式权限控制机制
后端架构
- 使用FastAPI提供高性能API服务
- 集成SQLAlchemy ORM框架
- 支持MySQL和PostgreSQL数据库
- 使用Redis进行缓存管理
通过本指南,您已经了解了Dash-FastAPI-Admin项目的核心特性和使用方法。这个框架为Python开发者提供了一个强大的工具,可以快速构建专业的中后台管理系统。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考









