Python基于Django的毕业设计论文选题阶段性资料管理系统

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,高可用系列 2核4GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 为了解决高校毕业论文原有管理方式效率低下、教师与学生之间的交流繁琐、毕业设计和论文创作过程繁杂等问题,采用基于vue和B/S模式简化了管理员、教师和学生之间的交流,细分毕业论文写作进程的部分:学生通过课题选择,在教师的审核下与教师建立关系,教师分配每一个阶段的任务,学生每进行一个阶段提交一份中期报告等待老师反馈,最后学生提交定稿论文,管理员分配并通知学生教师参加答辩。本系统界面友好,功能满足预期要求,各用户的工作效率较原有管理方式有了很大的提高

为了解决高校毕业论文原有管理方式效率低下、教师与学生之间的交流繁琐、毕业设计和论文创作过程繁杂等问题,采用基于vue和B/S模式简化了管理员、教师和学生之间的交流,细分毕业论文写作进程的部分:学生通过课题选择,在教师的审核下与教师建立关系,教师分配每一个阶段的任务,学生每进行一个阶段提交一份中期报告等待老师反馈,最后学生提交定稿论文,管理员分配并通知学生教师参加答辩。本系统界面友好,功能满足预期要求,各用户的工作效率较原有管理方式有了很大的提高


环境需要

1.运行环境:python3.7/python3.8。

2.IDE环境:pycharm+mysql5.7;

3.数据库工具:Navicat11

4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS;

5.数据库:MySql 5.7版本;

技术栈

后端:python+django

前端:vue+CSS+JavaScript+jQuery+elementui


毕业设计流程繁琐,指导老师与学生之间沟通不够灵活,各种毕业设计文档管理混乱。本毕业设计系统采用了现代的技术方式,提升了质量效率,降低了沟通成本和时间成本。

本系统经过实际需求分析,基于B/S架构,采用Django框架、MySQL数据库、vue前端框架, 用户权限管理子系统和注册、登录、反馈等各模块,其设计均按照简单灵活,安全稳定的原则来实现。




# coding:utf-8

__author__ = "ila"


from django.http import JsonResponse


from .users_model import users

from util.codes import *

from util.auth import Auth

import util.message as mes



def users_login(request):

   if request.method in ["POST", "GET"]:

       msg = {'code': normal_code, "msg": mes.normal_code}

       req_dict = request.session.get("req_dict")

       if req_dict.get('role')!=None:

           del req_dict['role']

       datas = users.getbyparams(users, users, req_dict)

       if not datas:

           msg['code'] = password_error_code

           msg['msg'] = mes.password_error_code

           return JsonResponse(msg)


       req_dict['id'] = datas[0].get('id')

       return Auth.authenticate(Auth, users, req_dict)



def users_register(request):

   if request.method in ["POST", "GET"]:

       msg = {'code': normal_code, "msg": mes.normal_code}

       req_dict = request.session.get("req_dict")


       error = users.createbyreq(users, users, req_dict)

       if error != None:

           msg['code'] = crud_error_code

           msg['msg'] = error

       return JsonResponse(msg)



def users_session(request):

   '''

   '''

   if request.method in ["POST", "GET"]:

       msg = {"code": normal_code,"msg":mes.normal_code, "data": {}}


       req_dict = {"id": request.session.get('params').get("id")}

       msg['data'] = users.getbyparams(users, users, req_dict)[0]


       return JsonResponse(msg)



def users_logout(request):

   if request.method in ["POST", "GET"]:

       msg = {

           "msg": "退出成功",

           "code": 0

       }


       return JsonResponse(msg)



def users_page(request):

   '''

   '''

   if request.method in ["POST", "GET"]:

       msg = {"code": normal_code, "msg": mes.normal_code,

              "data": {"currPage": 1, "totalPage": 1, "total": 1, "pageSize": 10, "list": []}}

       req_dict = request.session.get("req_dict")

       tablename = request.session.get("tablename")

       try:

           __hasMessage__ = users.__hasMessage__

       except:

           __hasMessage__ = None

       if __hasMessage__ and __hasMessage__ != "否":


           if tablename != "users":

               req_dict["userid"] = request.session.get("params").get("id")

       if tablename == "users":

           msg['data']['list'], msg['data']['currPage'], msg['data']['totalPage'], msg['data']['total'], \

           msg['data']['pageSize'] = users.page(users, users, req_dict)

       else:

           msg['data']['list'], msg['data']['currPage'], msg['data']['totalPage'], msg['data']['total'], \

           msg['data']['pageSize'] = [],1,0,0,10


       return JsonResponse(msg)



def users_info(request, id_):

   '''

   '''

   if request.method in ["POST", "GET"]:

       msg = {"code": normal_code, "msg": mes.normal_code, "data": {}}


       data = users.getbyid(users, users, int(id_))

       if len(data) > 0:

           msg['data'] = data[0]

       # 浏览点击次数

       try:

           __browseClick__ = users.__browseClick__

       except:

           __browseClick__ = None


       if __browseClick__ and "clicknum" in users.getallcolumn(users, users):

           click_dict = {"id": int(id_), "clicknum": str(int(data[0].get("clicknum", 0)) + 1)}

           ret = users.updatebyparams(users, users, click_dict)

           if ret != None:

               msg['code'] = crud_error_code

               msg['msg'] = ret

       return JsonResponse(msg)



def users_save(request):

   '''

   '''

   if request.method in ["POST", "GET"]:

       msg = {"code": normal_code, "msg": mes.normal_code, "data": {}}

       req_dict = request.session.get("req_dict")

       error = users.createbyreq(users, users, req_dict)

       if error != None:

           msg['code'] = crud_error_code

           msg['msg'] = error

       return JsonResponse(msg)



def users_update(request):

   '''

   '''

   if request.method in ["POST", "GET"]:

       msg = {"code": normal_code, "msg": mes.normal_code, "data": {}}

       req_dict = request.session.get("req_dict")

       if req_dict.get("mima") and req_dict.get("password"):

           if "mima" not in users.getallcolumn(users,users):

               del req_dict["mima"]

           if "password" not in users.getallcolumn(users,users):

               del req_dict["password"]

       try:

           del req_dict["clicknum"]

       except:

           pass

       error = users.updatebyparams(users, users, req_dict)

       if error != None:

           msg['code'] = crud_error_code

           msg['msg'] = error

       return JsonResponse(msg)



def users_delete(request):

   '''

   '''

   if request.method in ["POST", "GET"]:

       msg = {"code": normal_code, "msg": mes.normal_code, "data": {}}

       req_dict = request.session.get("req_dict")


       error = users.deletes(users,

           users,

           req_dict.get("ids")

       )

       if error != None:

           msg['code'] = crud_error_code

           msg['msg'] = error

       return JsonResponse(msg)



1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

112

113

114

115

116

117

118

119

120

121

122

123

124

125

126

127

128

129

130

131

132

133

134

135

136

137

138

139

140

141

142

143

144

145

146

147

148

149

150

151

152

153

154

155

156

157

158

159

160

161

162


采用python语言开发的一个基于web的毕业设计选题管理系统,一共有3个身份,超级管理员,老师和学生。管理员登录后可以管理专业信息,学院信息,教研室信息,设置系统开放时间,添加发布公告,添加维护学生信息,添加维护老师信息,其中学生和用户表一对一关系,老师和用户也是一对一关系,基于分组权限设置,学生用户属于students分组,老师用户属于teachers分组,每个分组拥有不同的权限,基于分组权限设计的思路;学生登录后可以查询导师,选择自己中意的老师,修改个人信息和密码;老师登录系统后确认选自己的学生,修改个人信息和密码。


项目介绍 在各学校的教学过程中,django过程管理系统是一项非常重要的事情。随着计算机多媒体技术的发展和网络的普及。采用当前流行的B/S模式以及3层架构的设计思想通过Python技术来开发此系统的目的是建立一个配合网络环境的django过程管理系统的平台,这样可以有效地解决django过程管理系统混乱的局面。 本文首先介绍了django过程管理系统的发展背景与发展现状,然后遵循软件常规开发流程,首先针对系统选取适用的语言和开发平台,根据需求分析制定模块并设计数据库结构,再根据系统总体功能模块的设计绘制系统的功能模块图,流程图以及E-R图。然后,设计框架并根据设计的框架编写代码以实现系统的各个功能模块。最后,对初步完成的系统进行测试,主要是功能测试、单元测试和性能测试。测试结果表明,该系统能够实现所需的功能,运行状况尚可并无明显缺点。


目录

1 绪论 1

1.1课题背景 1

1.2课题研究现状 1

1.3初步设计方法与实施方案 2

1.4本文研究内容 2

2 系统开发环境 4

2.1 使用工具简介 4

2.2 环境配置 4

2.3 B/S结构简介 4

2.4 MySQL数据库 5

2.5 框架介绍 5

3 系统分析 6

3.1系统可行性分析 6

3.1.1经济可行性 6

3.1.2技术可行性 6

3.1.3运行可行性 6

3.2系统现状分析 6

3.3功能需求分析 7

3.4系统设计规则与运行环境 8

3.5系统流程分析 8

3.5.1操作流程 8

3.5.2添加信息流程 9

3.5.3删除信息流程 10

4 系统设计 11

4.1系统设计主要功能 11

4.2数据库设计 11

4.2.1数据库设计规范 11

4.2.2 E/R图 11

4.2.3数据表 12

5 系统实现 25

5.1系统功能模块 25

5.2后台模块 27

5.2.1管理员功能模块 27

5.2.2用户功能模块 30

6 系统测试 33

6.1功能测试 33

6.2可用性测试 33

6.3性能测试 34

6.4测试结果分析 34

7结 论 35

参考文献 36

致 谢 37

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
相关文章
|
22天前
|
算法 搜索推荐 JavaScript
基于python智能推荐算法的全屋定制系统
本研究聚焦基于智能推荐算法的全屋定制平台网站设计,旨在解决消费者在个性化定制中面临的选择难题。通过整合Django、Vue、Python与MySQL等技术,构建集家装设计、材料推荐、家具搭配于一体的一站式智能服务平台,提升用户体验与行业数字化水平。
|
20天前
|
存储 分布式计算 大数据
基于Python大数据的的电商用户行为分析系统
本系统基于Django、Scrapy与Hadoop技术,构建电商用户行为分析平台。通过爬取与处理海量用户数据,实现行为追踪、偏好分析与个性化推荐,助力企业提升营销精准度与用户体验,推动电商智能化发展。
|
2月前
|
机器学习/深度学习 数据可视化 搜索推荐
基于python的汽车数据可视化、推荐及预测系统
本研究围绕汽车数据可视化、推荐及预测系统展开,结合大数据与人工智能技术,旨在提升用户体验与市场竞争力。内容涵盖研究背景、意义、相关技术如 Python、ECharts、协同过滤及随机森林回归等,探讨如何挖掘汽车数据价值,实现个性化推荐与智能预测,为汽车行业智能化发展提供支持。
|
2月前
|
存储 安全 数据管理
基于python的在线考试系统
本系统基于Python开发,旨在通过信息化手段提升各行业数据管理效率。系统具备良好的安全性、稳定性及可扩展性,支持数据高效处理与决策支持,适用于教育、医疗、旅游等多个领域,助力办公自动化与科学化管理,显著提升工作效率并降低错误率。
|
2月前
|
存储 监控 API
Python实战:跨平台电商数据聚合系统的技术实现
本文介绍如何通过标准化API调用协议,实现淘宝、京东、拼多多等电商平台的商品数据自动化采集、清洗与存储。内容涵盖技术架构设计、Python代码示例及高阶应用(如价格监控系统),提供可直接落地的技术方案,帮助开发者解决多平台数据同步难题。
|
19天前
|
机器学习/深度学习 大数据 关系型数据库
基于python大数据的台风灾害分析及预测系统
针对台风灾害预警滞后、精度不足等问题,本研究基于Python与大数据技术,构建多源数据融合的台风预测系统。利用机器学习提升路径与强度预测准确率,结合Django框架实现动态可视化与实时预警,为防灾决策提供科学支持,显著提高应急响应效率,具有重要社会经济价值。

推荐镜像

更多