项目简介
本项目是基于Django框架开发的社交帖子管理系统。该系统整合了用户体系、帖子管理、好友关系、推荐系统等功能,利用阿里云的OSS存储和SMS短信服务,结合极光推送,为用户提供了一个功能丰富的社交平台。同时,系统使用JWT进行身份认证,保障用户信息安全。
项目的主要特性和功能
- 用户体系:支持用户注册、登录、找回密码、修改密码、修改手机号码等操作,有短信验证码验证功能,加入了协议许可模型和授权接口。
- 好友关系:实现用户间关注、好友体系,支持好友过滤、检索、排序,可指定好友看故事黑名单,同步黑名单至融云。
- 帖子管理:具备帖子新增、修改、删除、查看功能,支持帖子多图和视频使用附件,有帖子点赞、评论、收藏等交互功能,可查看附近和推荐帖子。
- 数据处理:使用阿里云OSS作为默认存储,自动清理旧文件,限制图片、视频文件大小。
- 消息推送:初步集成极光推送,实现好友、帖子、评论、点赞部分推送功能。
- 权限控制:对帖子修改、删除、图片删除等操作进行权限控制,评论支持敏感词检测。
- 接口规范:统一成功返回数据的JSON格式,调整Http StatusCode为200时的返回格式,支持列表接口的排序、过滤、检索、分页等功能。
安装使用步骤
前提条件
假设用户已经下载了本项目的源码文件,且Python环境已安装。
配置虚拟环境
- 创建虚拟环境
bash python -m venv environment
- 开启虚拟环境
- Windows系统
bash cd environment; cd Scripts; activate.bat; cd ..; cd ..;
- Linux系统
bash source environment/bin/activate
- Windows系统
安装依赖插件
bash
pip install -r requirements.txt -i https://pypi.douban.com/simple
同步数据库
bash
python manage.py makemigrations
python manage.py migrate
创建超级管理员
bash
python manage.py createsuperuser
开启测试服务器
bash
python manage.py runserver 0:80
注意事项
- 生产环境需置
DEBUG=False
并重设域名。 - 站点Oasis上DRF的Session认证已关闭,如需使用可视化浏览界面,请下载Chrome插件modheader,并为浏览器配置对应的请求头部进行查看。
- 使用JWT进行认证,所有需要身份认证的Http请求均需要加入Token(令牌),其最大有效期为2天,可以使用7天内的旧令牌换取新令牌。建议使用Http拦截器实现,其Http请求头部格式如下:
Authorization:Token xxx
- 对于所有列表接口,可通过在URL中添加参数实现排序、过滤、检索、分页等功能,如
/user/?ordering=gender,-id&gender=1&search=xxx&page_size=10&page=2
。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】