1、项目介绍
技术栈:
Python语言、MySQL数据库、Django框架、bootstrap框架+css+js+HTML
2、项目界面
(1)系统首页
3、项目说明
本项目实现学生信息、就业信息、岗位信息三方面的管理功能,其中学生信息作为系统基础信息一部分,其中包含学生基本信息、教育经历、项目经历等内容,这些信息是企业所关注的基本内容;就业信息功能中不仅仅需要记录下学生的就业情况,同时需要实现就业的统计信息,这样可以方便高校了解学生就业的情况;岗位信息功能中需要提供企业信息、岗位信息管理功能,将经学校筛选的企业和岗位提供给学生进行选择,避免学生选择到存在问题的企业,降低学生就业风险,项目功能架构图如下所示:
4、核心代码
import json
import time
from django.core.paginator import Paginator
from django.db import transaction
from django.db.models import Q
from django.http import HttpResponse, HttpResponseRedirect
from django.shortcuts import render
from django.views import View
from app import models
'''
基础处理类,其他处理继承这个类
'''
class BaseView(View):
'''
检查指定的参数是否存在
存在返回 True
不存在返回 False
'''
def isExit(param):
if (param == None) or (param == ''):
return False
else:
return True
'''
转换分页查询信息
'''
def parasePage(pageIndex, pageSize, pageTotal, count, data):
return {'pageIndex': pageIndex, 'pageSize': pageSize, 'pageTotal': pageTotal, 'count': count, 'data': data}
'''
转换分页查询信息
'''
def parasePage(pageIndex, pageSize, pageTotal, count, data):
return {'pageIndex': pageIndex, 'pageSize': pageSize, 'pageTotal': pageTotal, 'count': count, 'data': data}
'''
成功响应信息
'''
def success(msg='处理成功'):
resl = {'code': 0, 'msg': msg}
return HttpResponse(json.dumps(resl), content_type='application/json; charset=utf-8')
'''
成功响应信息, 携带数据
'''
def successData(data, msg='处理成功'):
resl = {'code': 0, 'msg': msg, 'data': data}
return HttpResponse(json.dumps(resl), content_type='application/json; charset=utf-8')
'''
系统警告信息
'''
def warn(msg='操作异常,请重试'):
resl = {'code': 1, 'msg': msg}
return HttpResponse(json.dumps(resl), content_type='application/json; charset=utf-8')
'''
系统异常信息
'''
def error(msg='系统异常'):
resl = {'code': 2, 'msg': msg}
return HttpResponse(json.dumps(resl), content_type='application/json; charset=utf-8')
'''
系统请求处理
'''
class SysView(BaseView):
def get(self, request, module, *args, **kwargs):
if module == 'login':
return render(request, 'login.html')
elif module == 'exit':
del request.session["user"]
del request.session["type"]
return HttpResponseRedirect('/jobs/login')
if module == 'info':
return SysView.getSessionInfo(request)
elif module == 'show':
return render(request, 'index.html')
elif module == 'sysNum':
return SysView.getSysNums(request)
def post(self, request, module, *args, **kwargs):
if module == 'login':
return SysView.login(request)
if module == 'info':
return SysView.updSessionInfo(request)
if module == 'pwd':
return SysView.updSessionPwd(request)
def login(request):
userName = request.POST.get('userName')
passWord = request.POST.get('passWord')
user = models.Users.objects.filter(userName=userName)
if (user.exists()):
user = user.first()
if user.passWord == passWord:
request.session["user"] = user.id
request.session["type"] = user.type
return SysView.success()
else:
return SysView.warn('用户密码输入错误')
else:
return SysView.warn('用户名输入错误')
def getSessionInfo(request):
user = request.session.get('user')
data = models.Users.objects.filter(id=user)
resl = {}
for item in data:
resl = {
'id': item.id,
'userName': item.userName,
'passWord': item.passWord,
'gender': item.gender,
'name': item.name,
'age': item.age,
'phone': item.phone,
'type': item.type,
}
return SysView.successData(resl)
def getSysNums(request):
resl = {
'companiesTotal' : models.Companies.objects.all().count(),
'jobTotal' : models.Jobs.objects.all().count(),
'inStuTotal' : models.Students.objects.filter(status=0).count(),
'outStuTotal' : models.Students.objects.filter(status=1).count()
}
return BaseView.successData(resl)
def updSessionInfo(request):
user = request.session.get('user')
models.Users.objects.filter(id=user).update(
userName=request.POST.get('userName'),
name=request.POST.get('name'),
age=request.POST.get('age'),
gender=request.POST.get('gender'),
phone=request.POST.get('phone'),
)
return SysView.success()
def updSessionPwd(request):
user = request.session.get('user')
models.Users.objects.filter(id=user).update(
passWord=request.POST.get('password'),
)
return SysView.success()
源码获取:
🍅由于篇幅限制,获取完整文章或源码、代做项目的,查看我的【用户名】、【专栏名称】、【顶部选题链接】就可以找到我啦🍅