前言
系统阐述的是使用可视化的学习系统的设计与实现,对于Python、B/S结构、MySql进行了较为深入的学习与应用。主要针对系统的设计,描述,实现和分析与测试方面来表明开发的过程。开发中使用了 django框架和MySql数据库技术搭建系统的整体架构。利用这些技术结合实际需求开发了具有个人中心、用户管理、视频类型管理、资源视频管理、图书分类管理、资源图书管理、学习信息管理、成绩信息管理、试卷管理、试题管理、系统管理、考试管理等功能的系统,最后对系统进行相应的测试,测试系统有无存在问题以及测试用户权限来优化系统,最后系统达到预期目标。
关键字:可视化的学习;Python; django;MySql数据库
一、项目介绍
可视化的学习系统综合网络空间开发设计要求。目的是将可视化的学习系统将传统管理方式转换为在网上管理,完成可视化的学习管理的方便快捷、安全性高、交易规范做了保障,目标明确。可视化的学习系统可以将功能划分为管理员功能和用户功能。
(1)、管理员关键功能包含个人中心、用户管理、视频类型管理、资源视频管理、图书分类管理、资源图书管理、学习信息管理、成绩信息管理、试卷管理、试题管理、系统管理、考试管理等进行管理。管理员用例如下:
图3-1 管理员用例图
(2)、用户关键功能包含首页、资源视频、资源图书、试卷、公告信息、后台管理、个人中心等进行管理。用户用例如下:
图3-2 用户用例图
二、开发环境
开发语言:Python
python框架:django
软件版本:python3.7/python3.8
数据库:mysql 5.7或更高版本
数据库工具:Navicat11
开发软件:PyCharm/vs code
前端框架:vue.js
————————————————
三、功能介绍
网上银行综合管理系统的整体结构设计主要分为两大部分:管理员和用户。管理员的职责是管理用户信息及设置用户权限等其他基础功能的管理;整体结构设计如图4-2所示。
图4-2 整体结构设计图
四、核心代码
部分代码:
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)
五、效果图
六、文章目录
目 录
1 概 述 5
1.1 研究背景 5
1.2 研究意义 5
1.3 研究内容 5
2 关键技术介绍 7
2.1 PYTHON语言简介 7
2.2 MySql数据库 7
2.3 DJANGO框架 8
2.4 Hadoop介绍 9
2.5 Scrapy介绍 9
2.6 B/S架构 10
3 系统分析 11
3.1 可行性分析 11
3.1.1经济可行性 11
3.1.2技术可行性 11
3.1.3运行可行性 11
3.2系统用例分析 11
3.3流程设计 13
3.3.1程序流程图设计 13
3.3.2添加信息流程图设计 14
3.3.3删除信息流程图设计 15
4 系统的设计 16
4.1 系统总功能模块设计 16
4.2 系统数据库设计 17
4.2.1 数据库系统概要设计 17
4.2.2 E-R模型结构设计 17
4.3数据表设计 19
5 系统的实现 29
5.1系统功能实现 29
5.2后台模块实现 31
5.2.1管理员模块实现 31
5.2.2用户模块实现 36
6系统测试 37
6.1系统测试的目的 37
6.2软件测试过程 37
6.3测试用例 38
结论 40
致谢 41
参考文献 42