项目教程https://www.bilibili.com/video/BV1su41127qZ/ 项目名称: 社区疫情管理系统 系统实现:Django + requests + VUE + ElementUI + axios 运行环境:Python3.9 + MySQL8.x + NodeJS 开发工具:PyCharm + VSCode 特别说明:PyCharm 进行项目开发过程中,需要在工具中进行正确的虚拟环境设置,安装需要的依赖包,同时在本地计算机中也需要安装,也就是说在 PyCharm 虚拟环境中安装 Django、PyMySQL ,本地计算机中也需要使用 pip install 依赖名称 的方式安装Django、PyMySQL

1. 项目预览

image.png
系统登陆页
image.png
系统首页
image.png
数据库管理页
image.png
数据编辑页

2. 项目设计

image.png
系统功能结构图
image.png
用户角色图
image.png
数据库ER图

3. 项目结构

image.png
服务端代码图
image.png
前端代码图

4. 部署运行

4.1 环境依赖

Python, 尽量选择 3.9的版本,测试项目代码在3.9以下的环境中运行会有部分代码不兼容,具体Python安装过程可以参考Python安装配置

NodeJS,这是前端运行所需要的,项目压缩包里包含前端运行所需的依赖模块,所以只需要安装 NodeJS 就可以在终端运行 npm run serve 就可以运行了

MySQL,具体使用版本没有要求,但是必须安装,具体 MySQL 安装过程可以参考 MySQL安装配置

4.2 运行流程

首先,按照 4.1 中的环境要求说明,完成 python、nodejs、mysql 这些软件安装和配置,同时特别提醒,pycharm 运行项目,除了需要在虚拟环境中安装 Django、PyMySQL 这些依赖外,本地最好在安装 python之后使用 pip install 依赖名称 将这些依赖在本地环境中进行安装

第二,复制第5章数据库相关中找到数据库执行的SQL语句,这些SQL语句可以在命令窗口中执行,也可以在Navicat 等图形化管理窗口中执行,执行过程中请移除注释内容,避免对运行造成干扰, 注意:数据库的创建可以复制创建库的语句,之后使用命令语句生成数据库表,最好执行SQL语句中插入的语句将测试数据添加到数据库中

第三,使用代码编辑器打开项目,按照本节4.3、4.4 介绍的内容运行项目,成功运行之后,复制前端运行结果窗口中的路径,在浏览器中打开,输入 账号和密码即可,测试账号和密码存储在 users 表中(账号:admin 密码: admin)

4.3 服务端运行

image.png
如上,使用Pycharm 打开项目后,首先进行虚拟环境的设置,按照上述方式,设置虚拟环境,将所需依赖添加到项目中
image.png
如上,为了方便运行可以按照上述方式进行配置,这样点击运行按钮就可以直接运行,否则需要打开终端,输入 python manage.py runserver 这种方式进行运行运行。

4.4 前端运行

image.png
在 VSCode中打开前端项目 client,然后按照图中标注的方式打开终端,输入 npm run serve 指令回车即可运行,成功运行之后会输出访问路径,将访问路径复制到浏览器中就可以访问了。

5. 相关资源

5.1 项目创建

  1. -- 创建项目
  2. django-admin startproject outbreaks
  3. -- 建立应用
  4. python manage.py startapp app
  5. -- 生成数据库同步文件
  6. python manage.py makemigrations
  7. -- 同步数据库
  8. python manage.py migrate

5.2 数据库相关

  1. -- 创建数据库
  2. CREATE DATABASE self_outbreaks DEFAULT CHARACTER SET utf8;
  3. -- 选择数据库
  4. USE self_outbreaks;
  5. -- 插入测试数据
  6. INSERT INTO notices (title, create_time, detail) VALUES ('社区安全检查', '2021-10-01', '社区安全检查');
  7. INSERT INTO notices (title, create_time, detail) VALUES ('社区安全检查', '2021-11-01', '社区安全检查');
  8. INSERT INTO notices (title, create_time, detail) VALUES ('社区安全检查', '2021-12-01', '社区安全检查');
  9. INSERT INTO notices (title, create_time, detail) VALUES ('社区安全检查', '2022-01-01', '社区安全检查');
  10. INSERT INTO users (user_name, pass_word, name, gender, type, age, phone, address) VALUES ('admin', 'admin', '张三丰', '男', 0, 45, '902192019', '武当山');
  11. INSERT INTO users (user_name, pass_word, name, gender, type, age, phone, address) VALUES ('fater', 'fater', '张无忌', '男', 1, 28, '902192018', '光明顶');
  12. INSERT INTO check_logs (loc, resl, detail, create_time, user_id) VALUES ('武当山', '正常', '无异常情况发现', '2021-11-01', 2);
  13. INSERT INTO check_logs (loc, resl, detail, create_time, user_id) VALUES ('武当山', '正常', '无异常情况发现', '2021-12-01', 2);
  14. INSERT INTO check_logs (loc, resl, detail, create_time, user_id) VALUES ('武当山', '正常', '无异常情况发现', '2021-01-01', 2);
  15. INSERT INTO abnormity_logs (create_time, detail, user_id) VALUES ('2021-11-01 10:00:00', '情况良好', 2);
  16. INSERT INTO abnormity_logs (create_time, detail, user_id) VALUES ('2021-12-01 10:00:00', '情况良好', 2);
  17. INSERT INTO abnormity_logs (create_time, detail, user_id) VALUES ('2022-01-01 10:00:00', '情况良好', 2);
  18. INSERT INTO vaccinate_logs (name, card, phone, address, vaccinate_no, vaccinate_time, user_id) VALUES ('宋青书', '901029302910', '1890291029', '武当山12号', '一次', '2021-03-01', 2);
  19. INSERT INTO vaccinate_logs (name, card, phone, address, vaccinate_no, vaccinate_time, user_id) VALUES ('宋青书', '901029302910', '1890291029', '武当山12号', '二次', '2021-05-01', 2);

5.3 服务端依赖

image.png

5.4 前端依赖

image.png