项目简介
本项目基于Flask和Layui Fly Template构建社区系统。借助Flask - Admin实现简单的后台管理,采用MongoDB作为数据库。系统具备用户注册、登录、发帖、回帖等常见社区功能,同时支持微博OAuth登录、邮件发送、验证码验证以及图片上传。
项目的主要特性和功能
- 用户管理:支持注册、登录、邮箱激活与找回密码操作。
- 帖子管理:包含发帖、回帖、点赞、回复、采纳、删帖、结贴等功能。
- 后台管理:通过Flask - Admin构建管理界面,方便管理员管理社区。
- 搜索功能:集成Whoosh搜索引擎,可进行全文搜索。
- 缓存机制:使用Redis作为缓存,提升系统性能。
- 图片上传:支持上传图片到服务器或图床。
- 社交账号登录:支持微博OAuth登录。
安装使用步骤
下载与安装
- 下载源码:通过
git clone https://gitee.com/981764793/PyFly
命令复制项目代码。 - 安装数据库:安装MongoDB,并在
config.py
文件中修改MongoDB的连接信息。 - 配置邮箱:在
config.py
文件中修改SMTP邮箱账号密码,用于用户注册验证。 - 安装依赖:执行
pip install -r requirements.txt
安装项目所需依赖。 - 运行项目:使用
python manager.py runserver
命令启动项目。
使用说明
- 首次运行项目时,会自动向MongoDB中添加默认的管理员账号和配置项。
- 后台管理的访问地址为
http://127.0.0.1:5000/admin
。 - 可自行对模板进行修改扩展,将其用作信息分类网站、CMS或博客。
- 图片上传有保存到后端或图床两种方式,默认保存到服务器。
模板开发
- 全局过滤器:
mongo_date_str
用于格式化MongoDB的日期字段。 - 全局函数:
get_page(collection_name, pn = 1, size = 10, sort_by = None, filter1 = None)
:实现分页查询。get_list(collection_name, sort_by = None, filter1 = None, size = None)
:用于列表查询。find_one(collection_name, filter1 = None)
:获取单条记录。date_cal(d1, num, is_add = True)
:进行日期计算。
待办事项
- 完善社交账号登录(微博OAuth)功能。
- 后续规划其他未确定的功能。
截图预览
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】