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

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

前后端分离: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 将在未来继续发挥重要作用,成为更多项目的首选框架。

推荐文章

淘宝npm镜像使用方法
2024-11-18 23:50:48 +0800 CST
你可能不知道的 18 个前端技巧
2025-06-12 13:15:26 +0800 CST
H5抖音商城小黄车购物系统
2024-11-19 08:04:29 +0800 CST
Go配置镜像源代理
2024-11-19 09:10:35 +0800 CST
pip安装到指定目录上
2024-11-17 16:17:25 +0800 CST
Node.js中接入微信支付
2024-11-19 06:28:31 +0800 CST
如何在 Vue 3 中使用 Vuex 4?
2024-11-17 04:57:52 +0800 CST
百度开源压测工具 dperf
2024-11-18 16:50:58 +0800 CST
网络数据抓取神器 Pipet
2024-11-19 05:43:20 +0800 CST
nginx反向代理
2024-11-18 20:44:14 +0800 CST
快手小程序商城系统
2024-11-25 13:39:46 +0800 CST
Vue3中如何处理SEO优化?
2024-11-17 08:01:47 +0800 CST
Go语言中实现RSA加密与解密
2024-11-18 01:49:30 +0800 CST
初学者的 Rust Web 开发指南
2024-11-18 10:51:35 +0800 CST
CSS 中的 `scrollbar-width` 属性
2024-11-19 01:32:55 +0800 CST
MySQL 1364 错误解决办法
2024-11-19 05:07:59 +0800 CST
全栈工程师的技术栈
2024-11-19 10:13:20 +0800 CST
JavaScript设计模式:单例模式
2024-11-18 10:57:41 +0800 CST
程序员茄子在线接单