Python毕业设计基于django的教师下乡支教岗位申请系统

文末获取资源,收藏关注不迷路

前言

随着计算机技术的发展,带来社会各行业的进步,信息化逐渐运用到人们的生活中。传统模式的教师支教管理满足不了现代人的生活追求。使用Python开发,成本大大减小,同时可借助移动互联网的优势,因而也降低了推广的难度。因此设计一个基于Python的教师支教管理系统来解决教师管理的问题,一方面可以更好的展现支教管理直观性,另一方面可以更好的来适应时代的发展。
本文先提出了开发教师支教管理系统的背景意义,然后通过功能性和非功能性分析阐述本系统的需求,然后从功能设计和数据库设计两方面进行系统的设计建模。在技术实现部分采用了Python作为开发后台的编程语言,前台使用vue技术,数据库选择MySQL。最后进行了代码的编写,并说明了实现流程。最终,通过软件测试来验证教师支教管理系统的功能要求。综合表明,本教师支教管理系统满足了支教的基本业务,并为管理员提供了高效的管理模式。

一、研究背景

21世纪已经是一个数字化的社会、信息化的社会、网络全球化的社会,现在的焦点问题主要就是集中在信息产业上,对于国家在新世纪的发展中有着举足轻重的作用,同时对国家的生存跟发展有着很大的影响。
现在传统的单机版系统已经全然的退出了信息时代的舞台,将其取而代之的是能够支持网络并且支持多种数据信息的网络版系统,因而去形成一个全信息化的社会。信息化社会的形成,
之前那些落后的低效的办公手段都因此受到了威胁,想要去更好的管理信息,就应该找到一个更好的管理办法。
信息已经成为当今社会另一种形式的重要资源,同时信息也是企业管理的基本单位,信息所占有的地位也是非常之高的。
本支教管理信息系统是将IT技术用于支教信息的管理上的, 主要用收集和存储支教所形成的一系列信息,提供更新与检索支教信息的接口;
这样一来的话支教志愿服务工作效率就会有很大的提高。

二、研究意义

本系统主要包括 角色:老师、学校、管理员
前台应包括:首页、支教岗位、志愿老师、老师分享、公告信息、平台简介、个人中心
一些逻辑关系:
一个老师只能申请一个岗位。申请被审核后通过即被录取,审核未通过即可重新申请岗位。当同时申请两个及以上岗位时,弹出提示框,已超出申请数量限制等话。
服务时长改为根据支教服务完成后根据岗位的开始时间和结束时间进行统计。总服务时长累加得到。

1、首页:把导航条上的支教岗位、志愿老师、老师分享、公告信息显示并能点击查看。

2、支教岗位,根据不同类别岗位需求选择例如寒暑假支教,短期支教等浏览支教岗位。

点击到可以查看岗位详情;所属学校图片,名称,岗位描述等;:岗位界面可评论;只有参加过该岗位的老师可写评论;。可对支教项目进行收藏:显示需要老师人数,登陆后可点击申请岗位等。

登陆后可以进行岗位申请,在老师提交申请岗位时,需要填写个人信息并上传个人简历,简历将会上传给后台管理员进行审核。通过与否都要给老师发送信息回复;通过邮箱发送;并反映到教师申请状态中。
3、志愿老师
包括志愿老师头像,简介。点击可进入志愿老师详情页可关注。
4、老师分享
以文字加图片的形式显示呈现多个分享,点击进入老师分享详情界面,可以是文章,图片,录制的视频等,可以在下方进行评论,点击回复可以回复评论;登陆后的用户均可评论;:可以点赞。
5、公告信息
以标题链接的形式呈现;标题:发布时间;,详情主要以文字为主,点进其中一个公告中,除文字外,有的下边有文件链接可以下载详细文件。
6、平台简介
平台基本信息,联系方式等,以介绍的方式呈现即可。
7、个人中心
学校的个人中心页:发布和管理。
点击发布,填写发布的岗位信息,并提交发布。发布的岗位有开始时间和结束时间,根据这个时间统计志愿老师的服务时长。
管理:已发布列表,已报名列表,个人信息管理。
老师的个人中心页:
分享和管理。
点击分享,可以分享自己之前支教的经历和文章,提交发布。
管理:
我的报名岗位;显示项目状态,审核中,已通过,未通过;,支教服务时长,我的关注管理,我的收藏管理,我的分享管理,个人信息管理。
8、登录,点击导航条上的个人中心可进行登录。没有账号的进行注册。
志愿老师注册应包括姓名,性别,所在地,密码,手机号,验证码等。用手机号以及密码进行登录。
志愿老师未登录不可进行支教岗位申请,不可进行评论,收藏,不能进行文章分享等。
志愿老师登录后导航条上会显示个人头像,点击会看到个人中心。
**管理员

管理员从后台管理进行登录。退出后进入系统首页。
支教系统管理员登录系统后:;实现新增,修改,删除,详细信息,通过关键字查找等;
1、管理志愿教师申请并更改状态:申请通过状态变为已通过并且相应的支教岗位中所需教师数减少。
2、管理支教项目信息:
3、管理学校:
4、岗位分类管理:
5、管理支教老师信息:
6、管理支教老师分享的文章:
7、评论管理:分享文章后的评论管理,岗位评论管理。

三、主要使用技术

环境需要
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

使用说明
使用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)


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")
        req_dict['role'] = '管理员'
        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系统概述 1
1.1 研究背景 1
1.2研究目的 1
1.3系统设计思想 1
2相关技术 3
2.1 MYSQL数据库 3
2.2 B/S结构 3
2.3 Djangot框架简介 4
2.4 VUE框架 4
3系统分析 5
3.1可行性分析 5
3.1.1技术可行性 5
3.1.2经济可行性 5
3.1.3操作可行性 5
3.2系统性能分析 6
3.2.1 系统安全性 6
3.2.2 数据完整性 6
3.3系统界面分析 6
3.4系统流程和逻辑 8
4系统概要设计 9
4.1概述 9
4.2系统结构 10
4.3.数据库设计 11
4.3.1数据库实体 11
4.3.2数据库设计表 13
5系统详细实现 17
5.1 管理员模块的实现 17
5.2用户模块的实现 19
6系统测试 21
6.1概念和意义 21
6.2特性 22
6.3重要性 22
6.4测试方法 23
6.5 功能测试 23
6.6可用性测试 24
6.7性能测试 24
6.8测试分析 24
6.9测试结果分析 25
结论 25
致谢语 26
参考文献 26

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wqq6310855

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值