项目简介
本项目是基于Django和Vue的RESTful API开发示例,展示了运用Django REST framework和Vue.js实现前后端分离开发模式的方法。项目包含用户认证、权限管理、限流控制、异步任务处理等核心功能,可作为学习和参考的模板。
项目的主要特性和功能
- 用户认证:自定义用户认证后端,支持用户登录、登出及基于token的API访问,采用Django REST framework的token认证机制。
- 权限管理:基于角色进行权限管理,不同用户角色有不同的API访问权限,通过自定义权限类实现细粒度权限控制。
- 限流控制:自定义限流策略,为匿名用户、登录用户及VIP用户设置不同访问阈值,利用Django REST framework的限流功能防止API被恶意访问。
- 异步任务处理:使用Celery和Redbeat处理异步任务和定时任务,支持高可用的任务调度,避免任务重复执行。
- 模板标签和过滤器:自定义Django模板标签和过滤器扩展模板功能,可在模板中使用如
set
和lower
等自定义标签和过滤器。 - 信号使用:利用Django的信号系统,在请求开始、前后完成后执行自定义逻辑。
安装使用步骤
环境准备
- 安装Python、Django、Redis、Celery等必要的软件和库。
- 创建并激活虚拟环境:
python -m venv venv
,source venv/bin/activate
。
项目设置
- 复制项目代码到本地。
- 安装依赖:
pip install -r requirements.txt
。 - 配置Django项目的设置文件
settings.py
,确保数据库、缓存、Celery等配置正确。
数据库迁移
运行python manage.py migrate
进行数据库迁移。
创建超级用户
运行python manage.py createsuperuser
创建Django管理后台的超级用户。
启动服务
- 启动Django开发服务器:
python manage.py runserver
。 - 启动Celery worker:
celery -A restpro worker -l info
。 - 启动Celery beat:
celery -A restpro beat -l info -S redbeat.RedBeatScheduler
。
前端开发
- 使用Vue.js进行前端开发,构建前端API调用和页面展示。
- 启动Vue开发服务器:
npm run serve
。
测试
运行Django自带的测试框架进行项目测试,确保功能正常运行:python manage.py test
。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】