littlebot
Published on 2025-04-08 / 0 Visits
0

【源码】基于Django和Vue的中小型应用基础开发平台

项目简介

本项目是基于RBAC模型权限控制的中小型应用基础开发平台,采用前后端分离架构。后端运用Django + Django Rest Framework,前端采用Vue + ElementUI,移动端采用Uniapp + uView(可发布H5和小程序)。新增的base分支在master分支后端基础上重新编写,拥有更完善的权限控制、工作流引擎、运维管理、Websocket支持,还将多种常用功能集成到utils中。

项目的主要特性和功能

  1. 权限控制:支持功能权限(控权到每个接口)和简单的数据权限(全部、本级及以下、同级及以下、本人等),采用JWT认证,可使用simple_history实现审计功能。
  2. 内置模块丰富:涵盖组织机构、用户、角色、岗位、数据字典、文件库、定时任务、工作流等内置模块。
  3. 工作流支持:工作流模块参考loonflow实现,建议使用Postgresql数据库,大部分代码已上传,可查看Swagger。
  4. 接口文档:提供Swagger接口文档,便于开发和调试。
  5. 定时任务:使用Celery以及Django Celery Beat包实现定时任务,需安装Redis并启动worker和beat。
  6. 多端支持:前端支持Web端和移动端,移动端可发布为H5和小程序。

安装使用步骤

前提条件

假设用户已下载本项目的源码文件,且已安装Python、Node.js、Redis、Docker(可选)。

开发环境启动

Django后端

  1. 定位到server文件夹。
  2. 建立虚拟环境:python -m venv venv
  3. 激活虚拟环境:.\venv\scripts\activate
  4. 安装依赖包:pip install -r requirements.txt
  5. 复制server文件夹下的conf_e.py为conf.py,并按需修改里面的数据库连接及DEBUG参数。
  6. 同步数据库:python manage.py migrate
  7. 可导入初始数据:python manage.py loaddata db.json 或直接使用sqlite数据库(超管账户密码均为admin,每隔一段时间数据库会重置)。
  8. 创建超级管理员:python manage.py createsuperuser
  9. 运行服务:python manage.py runserver 8000

Vue前端

  1. 定位到client文件夹。
  2. 安装依赖包:npm install --registry=https://registry.npm.taobao.org
  3. 运行服务: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/。

部署

  1. 部署时注意修改conf.py。
  2. 可以前后端分开部署,使用Nginx代理。也可打包之后将前端dist替换server/dist,然后执行collectstatic。
  3. 使用Gunicorn启动:进入虚拟环境执行 gunicorn -w 5 -b 0.0.0.0:2251 server.wsgi
  4. 如果需要Websocket还需要配置Daphne启动,可使用Supervisor监控。
  5. Nginx配置可参考文档中的示例。

Docker Compose方式运行

  1. 按照注释修改docker-compose.yml文件。
  2. 启动:cd <path-to-your-project>; docker-compose up -d
  3. 启动成功后,访问端口同开发环境,接口8000端口,前端8012端口,如需改动,自己修改docker-compose.yml。
  4. 如果要执行里面的命令,使用 docker-compose exec <服务名> <命令>。例如,执行后端生成数据变更命令:docker-compose exec backend python manage.py makemigrations

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】