vue-element-admin-fastapi是一款后端使用 python 的 fastapi 框架开发 api 接口,前端使用 vue-element-admin 前端组件的快速后台管理系统开发框架。使用该框架通过简单的配置就可以专注于业务开发,省去菜单-角色-人员-组织等权限管理部分的开发,可以适用于大多数管理后台应用场景。
vue-element-admin-fastapi的目录结构:
root:[vue-element-admin-fastapi]
|--frontend #vue-element-admin
|--backend
| |--app
| | |--alembic #alembic
| | |--app
| | | |--api
| | | | |--api_v1
| | | | | |--api.py
| | | | | |--endpoints
| | | | | |--report #excel export api 敏捷开发
| | | | | | |--gen_excel.py
| | | | | | |--gen_report.py
| | | | | | |--report
| | | | | | |--__init__.py
| | | | | |--system
| | | | | |--websocket #python-socketio,异步类视图区分命名空间
| | | | | | |--server.py
| | | | |--deps.py
| | | |--celery_app #celery
| | | | |--celery_app.py
| | | | |--worker
| | | | | |--example.py
| | | |--core
| | | | |--config.py
| | | | |--security.py
| | | |--crud
| | | |--db
| | | | |--base.py
| | | | |--session.py
| | | |--extensions
| | | | |--exception.py #全局异常捕获 暂时没有使用的需要,所以没用
| | | | |--logger.py #替代原来的日志
| | | | |--utils.py #utils 主要使用了其中的list_to_tree
| | | |--initial_data.py #初始化数据
| | | |--main.py
| | | |--middleware #中间件
| | | | |--access_middle.py #中间件 登陆日志
| | | |--models #models Table
| | | |--schemas #schemas Pydantic
| | | |--tests
| | | |--__init__.py
| | |--pyproject.toml #项目所需要的包
| | |--scripts
|--logs #日志路径
| |--backend
| |--celery
开发规则整理:
1.模块化
2.router.include_router下对根路由的RESTFUL请求需要结尾加"/",这个需要前端配合,其他都不需要加"/"
如何快速本地启动
python packages
cd vue-element-admin-fastapi\backend\app
pip install -r requirements.txt
ip及数据库连接
frontend
#websocket连接的ip
vue-element-admin-fastapi\frontend\src\views\monitor\server\index.vue
#开发环境连接的后端ip
vue-element-admin-fastapi\frontend\.env.development
#生产环境连接的后端ip
vue-element-admin-fastapi\frontend\.env.production
backend
#alembic的数据库连接
vue-element-admin-fastapi\backend\app\alembic.ini ---sqlalchemy.url
vue-element-admin-fastapi\backend\app\alembic\env.py
#后端的数据库连接
vue-element-admin-fastapi\backend\app\app\core\config.py
#celery的数据库连接
vue-element-admin-fastapi\backend\app\app\celery_app\celery_app.py
数据准备
vue-element-admin-fastapi\backend\app\prestart.sh
#检查数据库连接
python /app/app/db_pre_start/backend_pre_start.py
#alembic初始化本地表结构
alembic revision --autogenerate -m "first commit"
alembic upgrade head
#初始化数据
python /app/app/initial_data.py
开发环境启动
frontend:npm run dev
backend:python main.py
https://gitee.com/YeLangTu/vue-element-admin-fastapi