项目简介
本项目是基于RBAC模型权限控制的中小型应用基础开发平台,采用前后端分离架构。后端运用Django + Django Rest Framework,前端采用Vue + ElementUI,移动端采用Uniapp + uView(可发布H5和小程序)。新增的base分支在master分支后端基础上重新编写,拥有更完善的权限控制、工作流引擎、运维管理、Websocket支持,还将多种常用功能集成到utils中。
项目的主要特性和功能
- 权限控制:支持功能权限(控权到每个接口)和简单的数据权限(全部、本级及以下、同级及以下、本人等),采用JWT认证,可使用simple_history实现审计功能。
- 内置模块丰富:涵盖组织机构、用户、角色、岗位、数据字典、文件库、定时任务、工作流等内置模块。
- 工作流支持:工作流模块参考loonflow实现,建议使用Postgresql数据库,大部分代码已上传,可查看Swagger。
- 接口文档:提供Swagger接口文档,便于开发和调试。
- 定时任务:使用Celery以及Django Celery Beat包实现定时任务,需安装Redis并启动worker和beat。
- 多端支持:前端支持Web端和移动端,移动端可发布为H5和小程序。
安装使用步骤
前提条件
假设用户已下载本项目的源码文件,且已安装Python、Node.js、Redis、Docker(可选)。
开发环境启动
Django后端
- 定位到server文件夹。
- 建立虚拟环境:
python -m venv venv
。 - 激活虚拟环境:
.\venv\scripts\activate
。 - 安装依赖包:
pip install -r requirements.txt
。 - 复制server文件夹下的conf_e.py为conf.py,并按需修改里面的数据库连接及DEBUG参数。
- 同步数据库:
python manage.py migrate
。 - 可导入初始数据:
python manage.py loaddata db.json
或直接使用sqlite数据库(超管账户密码均为admin,每隔一段时间数据库会重置)。 - 创建超级管理员:
python manage.py createsuperuser
。 - 运行服务:
python manage.py runserver 8000
。
Vue前端
- 定位到client文件夹。
- 安装依赖包:
npm install --registry=https://registry.npm.taobao.org
。 - 运行服务:
npm run dev
。
Nginx
本地运行时修改nginx.conf,可显示资源文件:
listen 8012
location /media {
proxy_pass http://localhost:8000;
}
location / {
proxy_pass http://localhost:9528;
}
运行nginx.exe。
访问项目
打开localhost:8012即可访问。接口文档地址为localhost:8000/api/swagger/,后台地址为localhost:8000/django/admin/。
部署
- 部署时注意修改conf.py。
- 可以前后端分开部署,使用Nginx代理。也可打包之后将前端dist替换server/dist,然后执行collectstatic。
- 使用Gunicorn启动:进入虚拟环境执行
gunicorn -w 5 -b 0.0.0.0:2251 server.wsgi
。 - 如果需要Websocket还需要配置Daphne启动,可使用Supervisor监控。
- Nginx配置可参考文档中的示例。
Docker Compose方式运行
- 按照注释修改docker-compose.yml文件。
- 启动:
cd <path-to-your-project>; docker-compose up -d
。 - 启动成功后,访问端口同开发环境,接口8000端口,前端8012端口,如需改动,自己修改docker-compose.yml。
- 如果要执行里面的命令,使用
docker-compose exec <服务名> <命令>
。例如,执行后端生成数据变更命令:docker-compose exec backend python manage.py makemigrations
。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】