• python基于django教学作业管理系统(源码+系统+mysql数据库+Lw文档)


    在各学校的教学过程中,教学互动管理是一项非常重要的事情。随着计算机多媒体技术的发展和网络的普及,“基于网络的学习模式”正悄无声息的改变着传统的教室学习模式,“基于网络的教学互动平台”的研究和设计也成为教育技术领域的热点课题。采用当前流行的B/S模式以及3层架构的设计思想通过Python技术来开发此系统的目的是建立一个配合网络环境的可以师生互动的教学学习的平台,这样可以有效地解决课程管理混乱的局面。本文首先介绍了教学互动系统管理技术的发展背景与发展现状,然后遵循软件常规开发流程,首先针对系统选取适用的语言和开发平台,根据需求分析制定模块并设计数据库结构,再根据系统总体功能模块的设计绘制系统的功能模块图,流程图以及E-R图。然后,设计框架并根据设计的框架编写代码以实现系统的各个功能模块。最后,对初步完成的系统进行测试,主要是功能测试、单元测试和性能测试。测试结果表明,该系统能够实现所需的功能,运行状况尚可并无明显缺点。
    请添加图片描述
    开发语言:Python
    python框架:django
    软件版本:python3.7/python3.8
    数据库:mysql 5.7或更高版本
    数据库工具:Navicat11
    开发软件:PyCharm/vs code
    前端框架:vue.js

    本系统是基于校园,以方便老师和学生的交流、提高教学效率为目的。系统拟有的主要功能有:⑴课件上传功能:向学生发布课程资料教案;⑵个人资料修改功能:实现教师或学生个人资料的录入或修改;⑶留言板:通过留言板回答学生问题以及问题讨论;⑷发帖功能:一些问题,错误可以发帖询问,别的学生可以回复。

    请添加图片描述
    使用说明
    使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;
    使用PyCharm 导入项目,修改配置,运行项目;
    将项目中config.ini配置文件中的数据库配置改为自己的配置,然后运行;
    运行成功后,在浏览器中输入:http://localhost:8080/项目名
    请添加图片描述

    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)
    
    • 1
    • 2

    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)
    
    • 1
    • 2
    • 3
    • 4
    • 5

    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)
    
    • 1
    • 2
    • 3
    • 4

    def users_logout(request):
    if request.method in [“POST”, “GET”]:
    msg = {
    “msg”: “退出成功”,
    “code”: 0
    }

        return JsonResponse(msg)
    
    • 1

    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
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    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)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    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

    请添加图片描述
    请添加图片描述
    请添加图片描述
    目录
    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

  • 相关阅读:
    Linux_一款好用的查看系统信息的桌面软件_包名hardinfo、软件名system profiler and Benchmark
    【Docker项目实战篇】Docker部署PDF多功能工具Stirling-PDF
    【Android笔记50】Android应用如何获取系统服务(软键盘管理器、闹钟管理器)
    Linux(Centos7版本)安装docker 使用官方安装脚本,一键安装docker 发生报错解决方法
    无涯教程-JavaScript - CHISQ.INV.RT函数
    wxpython设计GUI:grid控件实现显示表单数据功能,同时实现界面的上下翻页以及跳转功能
    湖仓一体电商项目(十九):业务实现之编写写入DWS层业务代码
    比较一个5点的结构对平面的分割
    计算机网络学习笔记(二)---运输层,应用层
    Linux系统docker部署.net core3.1
  • 原文地址:https://blog.csdn.net/QQ123311197/article/details/126772754