项目教程: 项目名称: 学生选题管理系统 系统实现:Django + VUE + IView+ axios 运行环境:Python3.9 + MySQL8.x + NodeJS 开发工具:PyCharm + Hbuildex 特别说明:PyCharm 进行项目开发过程中,需要在工具中进行正确的虚拟环境设置,安装需要的依赖包,同时在本地计算机中也需要安装,也就是说在 PyCharm 虚拟环境中安装 Django、PyMySQL ,本地计算机中也需要使用 pip install 依赖名称 的方式安装Django、PyMySQL
1. 项目预览
系统登陆页
系统首页
数据库管理页
2. 项目设计
系统功能结构
系统角色
数据ER图
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 前端运行
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_student_selectproject DEFAULT CHARACTER SET utf8;
-- 选择数据库
USE self_student_selectproject;
-- 插入数据
INSERT INTO users (id, user_name, pass_word, name, gender, age, type) VALUES (1, 'admin', 'admin', '张三丰', '男', 45, 0);
INSERT INTO users (id, user_name, pass_word, name, gender, age, type) VALUES (3, 'songqingshu', 'songqingshu', '宋青书', '男', 24, 2);
INSERT INTO users (id, user_name, pass_word, name, gender, age, type) VALUES (4, 'zhouzhiruo', 'zhouzhiruo', '周芷若', '女', 23, 2);
INSERT INTO users (id, user_name, pass_word, name, gender, age, type) VALUES (5, 'yangbuhui', 'yangbuhui', '杨不悔', '女', 22, 2);
INSERT INTO users (id, user_name, pass_word, name, gender, age, type) VALUES (6, 'zhaomin', 'zhaomin', '赵敏', '女', 22, 2);
INSERT INTO users (id, user_name, pass_word, name, gender, age, type) VALUES (7, 'xiaozhao', 'xiaozhao', '小昭', '女', 22, 2);
INSERT INTO users (id, user_name, pass_word, name, gender, age, type) VALUES (8, 'zhaoqiang', 'zhaoqiang', '赵强', '男', 26, 2);
INSERT INTO users (id, user_name, pass_word, name, gender, age, type) VALUES (9, 'wangbaobao', 'wangbaobao', '王保保', '男', 28, 2);
INSERT INTO users (id, user_name, pass_word, name, gender, age, type) VALUES (10, 'zhujiuzhen', 'zhujiuzhen', '朱九真', '女', 20, 2);
INSERT INTO users (id, user_name, pass_word, name, gender, age, type) VALUES (11, 'zenganiu', 'zenganiu', '曾阿牛', '男', 25, 2);
INSERT INTO users (id, user_name, pass_word, name, gender, age, type) VALUES (12, 'weibi', 'weibi', '卫壁', '男', 24, 2);
INSERT INTO users (id, user_name, pass_word, name, gender, age, type) VALUES (14, 'songyuanqiao', 'songyuanqiao', '宋远桥', '男', 40, 1);
INSERT INTO users (id, user_name, pass_word, name, gender, age, type) VALUES (15, 'yudaiyan', 'yudaiyan', '俞岱岩', '男', 39, 1);
INSERT INTO users (id, user_name, pass_word, name, gender, age, type) VALUES (16, 'zhangsongxi', 'zhangsongxi', '张松溪', '男', 36, 1);
INSERT INTO users (id, user_name, pass_word, name, gender, age, type) VALUES (17, 'zhangcuishan', 'zhangcuishan', '张翠山', '男', 39, 1);
INSERT INTO teachers (id, reord, job, intro) VALUES (14, '研究生', '高级教师', '优秀教师');
INSERT INTO teachers (id, reord, job, intro) VALUES (15, '研究生', '高级教师', '优秀教师');
INSERT INTO teachers (id, reord, job, intro) VALUES (16, '研究生', '高级教师', '优秀教师');
INSERT INTO teachers (id, reord, job, intro) VALUES (17, '研究生', '特级教师', '优秀教师');
INSERT INTO projects (id, name, intro, comm, put_time, phase, status, expect_person, enroll_person, real_person, teacher_id) VALUES (3, '图书管理', '图书管理', '图书管理', '2022-04-03', 3, 1, 50, 1, 1, 17);
INSERT INTO projects (id, name, intro, comm, put_time, phase, status, expect_person, enroll_person, real_person, teacher_id) VALUES (4, '社区疫情管理', '测试', '测试', '2022-04-04', 3, 0, 50, 4, 1, 17);
INSERT INTO students (id, college, major, real_phase, project_id) VALUES (3, '软件工程', '软件测试', 3, 4);
INSERT INTO students (id, college, major, real_phase, project_id) VALUES (4, '软件工程', '安卓开发', 0, null);
INSERT INTO students (id, college, major, real_phase, project_id) VALUES (5, '软件工程', '软件测试', 0, null);
INSERT INTO students (id, college, major, real_phase, project_id) VALUES (6, '软件工程', '软件开发', 0, null);
INSERT INTO students (id, college, major, real_phase, project_id) VALUES (7, '软件工程', '软件测试', 0, null);
INSERT INTO students (id, college, major, real_phase, project_id) VALUES (8, '软件工程', '安卓开发', 0, null);
INSERT INTO students (id, college, major, real_phase, project_id) VALUES (9, '软件工程', '项目管理', 0, null);
INSERT INTO students (id, college, major, real_phase, project_id) VALUES (10, '软件工程', '网络安全', 0, null);
INSERT INTO students (id, college, major, real_phase, project_id) VALUES (11, '软件工程', '项目管理', 0, null);
INSERT INTO students (id, college, major, real_phase, project_id) VALUES (12, '软件工程', '网络安全', 0, null);
INSERT INTO select_logs (id, create_time, status, comm, project_id, student_id) VALUES (4, '2022-04-04 16:21:35', 1, 'ceshi', 4, 6);
INSERT INTO select_logs (id, create_time, status, comm, project_id, student_id) VALUES (6, '2022-04-07 10:09:27', 2, '同意', 4, 3);
INSERT INTO select_logs (id, create_time, status, comm, project_id, student_id) VALUES (7, '2022-04-09 11:03:19', 0, null, 4, 8);
INSERT INTO phase_logs (id, create_time, no, intro, comm, student_id) VALUES (2, '2022-04-07 10:40:18', 1, '完成系统需求分析,明确开发任务', null, 3);
INSERT INTO phase_logs (id, create_time, no, intro, comm, student_id) VALUES (3, '2022-04-07 10:41:06', 2, '初步完成系统数据库、界面设计,准备项目编码实现', null, 3);
INSERT INTO phase_logs (id, create_time, no, intro, comm, student_id) VALUES (6, '2022-04-07 11:25:40', 3, 'ceso', null, 3);
INSERT INTO review_logs (id, create_time, comm, student_id) VALUES (2, '2022-04-07 15:01:08', '优秀', 3);