综合 前后端分离:fastapi-vue-admin的探索

2024-11-18 09:45:11 +0800 CST views 1288

前后端分离:fastapi-vue-admin的探索

引言

在当今快速发展的技术领域,快速开发平台成为了许多项目的首选。fastapi-vue-admin 作为一套全部开源的快速开发平台,采用了一系列现代化技术,旨在提供高效、便捷的开发体验。本文将深入探讨 fastapi-vue-admin 的技术选型与优势,探索其在实践中的价值和创新。

介绍

fastapi-vue-admin 是一套全部开源的快速开发平台,提供免费使用。

  • 后端:采用 FastAPI(现代、高性能异步框架) + Swagger(自动生成交互式API文档) + Pydantic(强制类型约束) + SQLAlchemy 2.0。
  • 前端:基于 Vue3 + Ant Design Vue + TypeScript + Vite 等主流技术开发。
  • 权限认证:使用哈希密码和 JWT Bearer 令牌的 OAuth2。
  • 权限架构:基于 RBAC 权限架构设计,支持加载动态权限菜单、按钮级别权限控制、数据级别权限控制。
  • 用途:开箱即用的中后台解决方案,可以用来作为新项目的启动模版,也可用于学习参考。

特点和优势

  1. 后端

    • FastAPI 是一个现代、高性能的异步框架,提供了快速、可靠的后端服务。
  2. 前端

    • 基于 Vue3 和 Ant Design Vue,结合 TypeScript 和 Vite 等主流技术,实现了现代化、响应式的用户界面。
  3. API文档

    • 使用 Swagger 自动生成交互式API文档,提高了API文档的可读性和可维护性。
  4. 权限认证

    • 基于 OAuth2 的权限认证机制,包括哈希密码、JWT令牌等,保障了系统的安全性和可靠性。
  5. RBAC权限架构

    • 支持动态权限菜单加载、按钮级别权限控制、数据级别权限控制,满足了复杂应用场景下的权限管理需求。

在线体验

安装和使用

获取代码

git clone https://gitee.com/senqi666/fastapi-vue-admin.git

准备工作

  • Python:版本要求 3.10(其他版本均未测试)
  • Node.js:版本 >= 20.0(推荐使用最新版)
  • PgSQL:推荐使用最新版
  • Redis:推荐使用最新版

后端

  1. 安装依赖

    cd backend
    pip3 install -r requirements.txt
    
  2. 修改项目数据库配置信息

    app/core/config.py 文件中的 SQL_DB_URLREDIS_URL 修改为你自己的数据库配置。

  3. 创建数据库

    创建名为 fastapi_vue_admin 的数据库。

  4. 初始化数据库数据

    # 进入后端根目录 backend 下运行
    # 运行命令后会自动生成数据库内的表和数据
    # 如已初始化数据库数据,此命令可不执行
    python3 main.py init
    
  5. 启动后端服务

    # 进入后端根目录 backend 下运行
    python3 main.py run
    

前端

  1. 安装依赖

    cd web
    npm install
    
  2. 运行前端开发服务器

    npm run dev
    
  3. 打包前端代码

    npm run build
    

访问项目

项目截图

images
images
images

总结

fastapi-vue-admin 凭借其先进的技术选型和创新的功能设计,成为了开箱即用的中后台解决方案的佼佼者。其采用的现代化技术架构,不仅提高了开发效率和代码质量,还为项目的可维护性和扩展性提供了良好的基础。随着对前后端一体化开发需求的不断增加,相信 fastapi-vue-admin 将在未来继续发挥重要作用,成为更多项目的首选框架。

推荐文章

Nginx 反向代理
2024-11-19 08:02:10 +0800 CST
Vue3中的v-for指令有什么新特性?
2024-11-18 12:34:09 +0800 CST
LLM驱动的强大网络爬虫工具
2024-11-19 07:37:07 +0800 CST
MySQL设置和开启慢查询
2024-11-19 03:09:43 +0800 CST
一个数字时钟的HTML
2024-11-19 07:46:53 +0800 CST
Nginx 实操指南:从入门到精通
2024-11-19 04:16:19 +0800 CST
MyLib5,一个Python中非常有用的库
2024-11-18 12:50:13 +0800 CST
Golang在整洁架构中优雅使用事务
2024-11-18 19:26:04 +0800 CST
paint-board:趣味性艺术画板
2024-11-19 07:43:41 +0800 CST
2024年公司官方网站建设费用解析
2024-11-18 20:21:19 +0800 CST
Vue3中的事件处理方式有何变化?
2024-11-17 17:10:29 +0800 CST
Vue3中的响应式原理是什么?
2024-11-19 09:43:12 +0800 CST
Gin 与 Layui 分页 HTML 生成工具
2024-11-19 09:20:21 +0800 CST
微信内弹出提示外部浏览器打开
2024-11-18 19:26:44 +0800 CST
利用Python构建语音助手
2024-11-19 04:24:50 +0800 CST
Vue中如何处理异步更新DOM?
2024-11-18 22:38:53 +0800 CST
程序员茄子在线接单