项目教程: 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. 项目预览
2. 项目设计
3. 项目结构
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 服务端运行
如上,使用Pycharm 打开项目后,首先进行虚拟环境的设置,按照上述方式,设置虚拟环境,将所需依赖添加到项目中
如上,为了方便运行可以按照上述方式进行配置,这样点击运行按钮就可以直接运行,否则需要打开终端,输入 python manage.py runserver 这种方式进行运行运行。
4.4 前端运行
在 VSCode中打开前端项目 client,然后按照图中标注的方式打开终端,输入 npm run serve 指令回车即可运行,成功运行之后会输出访问路径,将访问路径复制到浏览器中就可以访问了。
5. 相关资源
5.1 项目创建
-- 创建项目
django-admin startproject outbreaks
-- 建立应用
python manage.py startapp app
-- 生成数据库同步文件
python manage.py makemigrations
-- 同步数据库
python manage.py migrate
5.2 数据库相关
-- 创建数据库
CREATE DATABASE self_outbreaks DEFAULT CHARACTER SET utf8;
-- 选择数据库
USE self_outbreaks;
-- 插入测试数据
INSERT INTO notices (title, create_time, detail) VALUES ('社区安全检查', '2021-10-01', '社区安全检查');
INSERT INTO notices (title, create_time, detail) VALUES ('社区安全检查', '2021-11-01', '社区安全检查');
INSERT INTO notices (title, create_time, detail) VALUES ('社区安全检查', '2021-12-01', '社区安全检查');
INSERT INTO notices (title, create_time, detail) VALUES ('社区安全检查', '2022-01-01', '社区安全检查');
INSERT INTO users (user_name, pass_word, name, gender, type, age, phone, address) VALUES ('admin', 'admin', '张三丰', '男', 0, 45, '902192019', '武当山');
INSERT INTO users (user_name, pass_word, name, gender, type, age, phone, address) VALUES ('fater', 'fater', '张无忌', '男', 1, 28, '902192018', '光明顶');
INSERT INTO check_logs (loc, resl, detail, create_time, user_id) VALUES ('武当山', '正常', '无异常情况发现', '2021-11-01', 2);
INSERT INTO check_logs (loc, resl, detail, create_time, user_id) VALUES ('武当山', '正常', '无异常情况发现', '2021-12-01', 2);
INSERT INTO check_logs (loc, resl, detail, create_time, user_id) VALUES ('武当山', '正常', '无异常情况发现', '2021-01-01', 2);
INSERT INTO abnormity_logs (create_time, detail, user_id) VALUES ('2021-11-01 10:00:00', '情况良好', 2);
INSERT INTO abnormity_logs (create_time, detail, user_id) VALUES ('2021-12-01 10:00:00', '情况良好', 2);
INSERT INTO abnormity_logs (create_time, detail, user_id) VALUES ('2022-01-01 10:00:00', '情况良好', 2);
INSERT INTO vaccinate_logs (name, card, phone, address, vaccinate_no, vaccinate_time, user_id) VALUES ('宋青书', '901029302910', '1890291029', '武当山12号', '一次', '2021-03-01', 2);
INSERT INTO vaccinate_logs (name, card, phone, address, vaccinate_no, vaccinate_time, user_id) VALUES ('宋青书', '901029302910', '1890291029', '武当山12号', '二次', '2021-05-01', 2);