# python_bbs **Repository Path**: macleo2023/python_bbs ## Basic Information - **Project Name**: python_bbs - **Description**: 采用Flask2.0+jinja2+Vue3开发一个有前台和cms后台管理的一个简单版bbs论坛项目 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 3 - **Created**: 2023-05-02 - **Last Updated**: 2025-06-11 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # python_bbs #### 项目介绍: 1、采用Flask2.0+jinja2+Vue3开发一个有前台和cms后台管理的bbs论坛项目 2、Flask2.0+jinja2+bootstrap+jquery实现bbs前台功能 3、Vue3+Flask2.0前后端分离,CMS内容管理系统模块采用纯前后端分离实现: - 前端由Vue3+VueCli4+VueRouter4+ElementPlus+axios实现 - 后端由Flask+RestfulApi实现 4、项目中有采用以下技术: - 注册接口增加图形验证码 - 发布帖子使用富文本编辑器 - 使用Celery来执行异步任务:发送邮件 - flask+caching+redis加速网站 - 前后端分离项目,使用jwt(Flask-JWT-Extended)实现鉴权 - 使用Echarts.js图标库显示bbs论坛数据 - flask+avatars生成用户头像 - 使用flask-paginate实现分页 - 使用SQLAlchemy-Serializer插件实现模型转字典 #### 软件架构 软件架构说明 ```应用结构 bbs_front #bbs_front前端 ├─ apps #应用 │ ├─ cmsapi #cms接口 │ │ ├─ __init__.py │ │ ├─ decrorators.py # 装饰器 │ │ ├─ froms.py # cms管理后台表单类 │ │ ├─ views.py #CMS管理后台视图函数 │ ├─ front #bbs前台 │ │ ├─ __init__.py │ │ ├─ decrorators.py # 装饰器 │ │ ├─ froms.py # bbs前台表单类 │ │ ├─ views.py # bbs前台视图函数 │ ├─ media #媒体文件(头像、图片) │ │ ├─ __init__.py │ │ ├─ views.py # 媒体文件视图函数 │ ├─ __init__.py ├─ media #用于存放媒体文件 │ ├─ avatars # 存放用户头像 │ ├─ banner #存放轮播图 │ ├─ post #存放帖子中上传的图片 ├─ migrations #数据库迁移脚本 ├─ models │ ├─ __init__.py │ ├─ auth.py # 和用户相关的model │ ├─ common.py # bbs论坛公共模型 ├─ static #flask静态文件目录 │ ├─ cms # cms管理后台静态文件(vue打包后存放静态文件的目录) │ ├─ front #前台静态文件 ├─ templates # flask渲染模版 │ ├─ cms # cms管理后台渲染模版(vue打包后存放渲染模版的目录) │ ├─ front #前台静态文件 │ │ ├─ css # front前台css文件 │ │ ├─ highlight #Highlight.js插件(语法高亮) │ │ ├─ images #存放front前台引用图片 │ │ ├─ js #存放front前台引用js文件 ├─ utils # 常用utils │ ├─ captcha # 图形验证码包 │ ├─ __init__.py │ ├─ restful.py #restful API │ ├─ uploadfiles.py #封装上传文件(弃用) ├─ app.py #flask程序入口 ├─ bbs_celery.py #celery异步执行任务 ├─ cmsapi_test.py #测试cmsapi接口 ├─ commands.py #初始化命令文件 ├─ config.py #项目配置文件 ├─ exts.py #项目拓展文件,方便引用 ├─ gunicorn.conf.py # gunicorn配置文件 ├─ note.txt 写项目时候的备注 ├─ requirements.txt #项目依赖包 bbs_cms #cms管理后台 ├─ dist vue #项目打包后的文件存放目录 ├─ node_modules #项目依赖包 ├─ public #项目初始化时默认public作为静态资源服务的文件夹 ├─ src #项目源代码的文件夹 │ ├─ assets # 静态文件目录 │ ├─ pages #后台页面 │ │ ├─ Banner.vue #轮播图管理页面 │ │ ├─ Comment.vue #评论管理页面 │ │ ├─ Home.vue #CMS首页 │ │ ├─ Post.vue #帖子管理页面 │ │ ├─ User.vue #用户管理页面 │ ├─ utils #存放项目js文件 │ │ ├─ auth.js # 获取用户权限 │ │ ├─ http.js #封装网络请求库 │ ├─ App.vue #cms管理后台入口 │ ├─ main.js # 初始化vue实例并使用需要的插件 │ ├─ router.js #定义vue路由 ├─ .env.development #开发环境下的配置文件 ├─ .env.production #开发环境下的配置文件 ├─ .gitignore #git #上传忽略配置 ├─ babel.config.js #js兼容 ├─ jsconfig.json # #主要用来配置一个默认根路径 ├─ package-lock.json #锁定安装时包的版本号 ├─ package.json # 项目所需要的各种模块,以及项目的配置信息 ├─ vue.config.js #vue配置文件 ``` #### 使用说明 1.下载代码后安装项目依赖包:pip install -r requirements.txt 2.在bbs_front中修改修改配置文件config.py: - 数据库配置成自己的 - 配置Mail信息 3.初始化数据库 ``` flask db init flask db migrate flask db upgrade ``` 4.初始化系统数据: ``` flask init_board flask init_role flask init_user ``` 5.运行bbs_front项目(代码中已经将Vue打包集成到flask中了) 6.需要查看cms 则打开bbs_cms目录查看