1 Star 0 Fork 115

shawn / fastapi-vue-blog

forked from Hendy.xu / fastapi-vue-blog 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
README.md 3.14 KB
一键复制 编辑 原始数据 按行查看 历史
Hendy.xu 提交于 2022-03-09 15:34 . 增加github地址

FastAPI Vue Blog博客

PS: 日常维护中

# gitee
https://gitee.com/xuqihui/fastapi-vue-blog

# github
https://github.com/xqhgit/fastapi-vue-blog

介绍

fastapi-vue-blog Python异步后端实现博客系统

后端

  • Python Web 框架:FastAPI
  • 数据库:MySQL
  • ORM:SQLAlchemy
  • 搜索:Elasticsearch

前端

  • 框架:Vue
  • 博客界面:BootstrapVue
  • 管理界面:ElementUI

基本要求

  • Python: 3.7.x
  • MySQL: 5.7.x
  • Node: 12.13.x
  • Vue: 2.x

功能

游客

  1. 可以看到所有文章
  2. 可以看到所有类别
  3. 可以根据分类筛选文章列表
  4. 在文章中可以看到评论
  5. 全文搜索

管理员

  1. 数据统计
  2. 文章管理
  3. 类别管理
  4. 评论管理

源码下载

git clone https://gitee.com/xuqihui/fastapi-vue-blog.git
# 或
git clone https://gitee.com/xuqihui/fastapi-vue-blog

安装

后端

1: 安装Python 3.7.x,创建虚拟环境
2: 安装MySQL 5.7.x

前端

1: 安装Node版本 12.13.x 和 vue-cli

开发启动

后端

# 后端配置数据库和账号密码
1: cd fastapi-vue-blog/webapi
2: 修改setting文件

# 初始化和启动
1: cd fastapi-vue-blog/webapi
2: pip install -r requirements.txt
3: python3 db/init_db.py        # 如果需要初始化数据库
4: python3 app.py
5: http://localhost:8000/docs   # 进入SwaggerUI

前端

1: cd fastapi-vue-blog/webui
2: npm install
3: npm run dev
4: http://localhost:8080        # 进入前端页面
4: http://localhost:8080/admin  # 进入管理员页面

部署与发布

通过Docker和Dockerfile打包发布

简单发布(可能不适合生产环境)

构建和启动

前提:安装好Docker和docker-compose
# 工作目录
cd fastapi-vue-blog

# 首次构建和启动服务
bash launcher.sh

# 查看服务情况
docker-compose -f webappSimple-compose.yml ps

# 重启服务
docker-compose -f webappSimple-compose.yml restart

# 停止服务
docker-compose -f webappSimple-compose.yml stop

# 关闭服务并移除容器
docker-compose -f webappSimple-compose.yml down

其他

# 构建镜像
docker-compose -f webappSimple-compose.yml up -d --build

# 初始化数据
docker-compose -f webappSimple-compose.yml exec webapp python db/init_db.py

图片预览

avatar avatar avatar avatar avatar avatar avatar avatar

Python
1
https://gitee.com/wx_3d25ad0b9a/fastapi-vue-blog.git
git@gitee.com:wx_3d25ad0b9a/fastapi-vue-blog.git
wx_3d25ad0b9a
fastapi-vue-blog
fastapi-vue-blog
master

搜索帮助