from django.shortcuts import render,redirect
from django.contrib.auth import authenticate,login,logout
from django.contrib.auth.forms import UserCreationForm,UserChangeForm
from django.contrib.auth.decorators import login_required
from .models import*
from comment.models import*
from .forms import*
#登陆和主页
def user_login(request):
if request.method == 'POST':
user = authenticate(request,username = request.POST['user_name'],
password = request.POST['pwd'])
if user is not None:
login(request, user)
if request.POST['type'] == '0':
name = request.user.teacher.tname # 查询当前用户的老师名
tea = Teacher.objects.filter(tname=name).first() # 查询出该老师
gender = tea.tgender
return render(request, 'myApp/老师个人中心.html', {"name": name, 'gender': gender})
elif request.POST['type'] == '1':
name = request.user.student.sname # 查询当前用户的学生名
stu = Student.objects.filter(sname=name).first() # 查询出该学生
gender = stu.sgender
return render(request, 'myApp/学生个人中心.html', {"name": name, 'gender': gender})
elif request.POST['type'] == False:
return render(request, 'myApp/首页登陆.html', {'error': '尚未选择学生或老师'})
else:
return render(request, 'myApp/首页登陆.html', {'error': '用户名或密码错误'})
else:
return render(request,'myApp/首页登陆.html')
#登出
def user_logout(request):
if request.method == 'POST':
user = authenticate(request,username = request.POST['user_name'],
password = request.POST['pwd'])
if user is not None:
login(request, user)
if request.POST['type'] == '0':
name = request.user.teacher.tname # 查询当前用户的老师名
tea = Teacher.objects.filter(tname=name).first() # 查询出该老师
gender = tea.tgender
return render(request, 'myApp/老师个人中心.html', {"name": name, 'gender': gender})
elif request.POST['type'] == '1':
name = request.user.student.sname # 查询当前用户的学生名
stu = Student.objects.filter(sname=name).first() # 查询出该学生
gender = stu.sgender
return render(request, 'myApp/学生个人中心.html', {"name": name, 'gender': gender})
else:
return render(request, 'myApp/首页登陆.html', {'error': "用户名或密码错误"})
return render(request,'myApp/首页登陆.html')
#老师主页
@login_required(login_url = "myApp:login")
def tea_home(request):
return render(request, 'myApp/老师主页.html')
#老师个人中心
@login_required(login_url = "myApp:login")
def tea_self_center(request):
name = request.user.teacher.tname # 查询当前用户的老师名
tea = Teacher.objects.filter(tname=name).first() # 查询出该老师
gender = tea.tgender
return render(request, 'myApp/老师个人中心.html', {"name": name, 'gender': gender})
#学生个人中心
@login_required(login_url = "myApp:login")
def stu_self_center(request):
name = request.user.student.sname # 查询当前用户的学生名
stu = Student.objects.filter(sname=name).first() # 查询出该学生
gender = stu.sgender
return render(request, 'myApp/学生个人中心.html',{"name":name,'gender':gender})
#学生主页
@login_required(login_url = "myApp:login")
def stu_home(request):
name = request.user.student.sname # 查询当前用户的学生名
return render(request, 'myApp/学生个人中心.html', {"name":name,})
#老师信息编辑
'''
@login_required(login_url = "myApp:login")
def tea_edit_profile(request):
if request.method == 'POST':
edit_form = Stu_edit_form(request.POST)
if edit_form.is_valid():
edit_form.save()
user = authenticate(username=edit_form.cleaned_data['username'],password=edit_form.cleaned_data['password1'])
login(request,user)
return redirect('myApp:学生主页')
else:
edit_form = Stu_edit_form(instance = request.user)
content = {'edit_form':edit_form}
#if request.method == 'POST':
return render(request, 'myApp/老师信息编辑.html',content)
'''
#学生的班级
@login_required(login_url = "myApp:login")
def stu_grade(request):
name = request.user.student.sname#查询当前用户的学生名
stu = Student.objects.filter(sname = name).first()#查询出该学生
my_grades = stu.sgrade.all()#查询出该学生关联的所有班级
return render(request,'myApp/学生的班级.html',{'name':name,'grades':my_grades})
#老师的班级
@login_required(login_url = "myApp:login")
def tea_grade(request):
name = request.user.teacher.tname#查询当前用户的老师名
tea = Teacher.objects.filter(tname = name).first()#查询出该老师
tea_grades = tea.teacher_grade.all()#查询出该老师关联的所有班级
return render(request,'myApp/老师的班级.html',{'grades':tea_grades,'name':name})
#请假信息
@login_required(login_url = "myApp:login")
def leave(request):
stu_name = request.user.student.sname
obj = Student.objects.filter(sname = stu_name).first()
stu_grades = obj.sgrade.all()
if request.method == 'POST':
grade_name = request.POST['grade']
text = request.POST['text']
grade = Grade.objects.get(gname=grade_name) # 找到数据库中对应的班级
jiatiao = Comment(grade=grade, stu=stu_name, body=text, created='',is_agree='')
jiatiao.save()
return render(request,'myApp/请假信息.html',{'grades':stu_grades,'name':stu_name})
#请假管理
@login_required(login_url = "myApp:login")
def leave_manage(request):
name = request.user.teacher.tname # 查询当前用户的老师名
tea = Teacher.objects.filter(tname=name).first() # 查询出该老师
tea_grades = tea.teacher_grade.all() # 查询出该老师关联的所有班级
comments = []
for grade in tea_grades:#每个班级的请假条
comments = grade.grade_comment.all()
if request.method == 'POST':
if request.POST['is_agree'] == '0':
jiatiao = Comment.objects.filter(body = request.POST['jiatiao']).first()
jiatiao.is_agree = False
jiatiao.save()
elif request.POST['is_agree'] == '1':
print(1)
jiatiao = Comment.objects.filter(body=request.POST['jiatiao']).first()
jiatiao.is_agree = True
jiatiao.save()
return render(request, 'myApp/请假管理.html',{'comments':comments,'name':name})
@login_required(login_url = "myApp:login")
def leave_history(request):
name = request.user.student.sname # 获取当前用户的学生姓名
jiatiao = Comment.objects.filter(stu = name).all()
return render(request, 'myApp/请假记录.html', {"comment": jiatiao, 'name': name})
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
基于Django框架的简单校园请假系统,mysql版本8.0.16 python版本3.7 django版本3.0,包含了模型,视图,前端的代码,前端采用html+css+js+Django模板语言,未使用前端框架,数据库采用mysql。实现了教师端的登陆批假,学生端的登陆请假以及完善的后台管理。 系统使用方法: 下载项目文件之后,配置好环境和数据库,在项目文件中打开终端 更改settings.py文件中的数据库配置,连接上mysql 执行python manage.py makemigrations生成迁移文件 执行python manage.py migrate生成数据库 执行python manage,py runserver运行应用 默认端口为127.0.0.1:8000/ 127.0.0.1:8000/admin是后台管理 创建超级用户执行python manage.py createsuperuser
资源推荐
资源详情
资源评论
收起资源包目录
Django请假系统.rar (75个子文件)
mysite
myApp
apps.py 41B
urls.py 1KB
tests.py 251B
migrations
0001_initial.py 4KB
__init__.py 0B
__pycache__
__init__.cpython-37.pyc 161B
0001_initial.cpython-37.pyc 2KB
admin.py 2KB
__init__.py 0B
models.py 2KB
__pycache__
urls.cpython-37.pyc 821B
models.cpython-37.pyc 3KB
forms.cpython-37.pyc 758B
__init__.cpython-37.pyc 150B
views.cpython-37.pyc 5KB
admin.cpython-37.pyc 3KB
views.py 7KB
forms.py 338B
manage.py 647B
.idea
misc.xml 210B
dataSources.local.xml 439B
workspace.xml 47KB
dataSources.xml 876B
inspectionProfiles
profiles_settings.xml 228B
modules.xml 264B
mysite.iml 1KB
__pycache__
manage.cpython-37.pyc 792B
comment
apps.py 94B
urls.py 171B
tests.py 63B
migrations
0001_initial.py 1KB
0002_auto_20190610_1207.py 443B
__init__.py 0B
__pycache__
0002_auto_20190608_1659.cpython-37.pyc 1KB
0003_auto_20190609_2029.cpython-37.pyc 1KB
__init__.cpython-37.pyc 163B
0004_auto_20190609_2049.cpython-37.pyc 804B
0001_initial.cpython-37.pyc 1KB
0002_auto_20190610_1207.cpython-37.pyc 619B
admin.py 225B
__init__.py 0B
models.py 908B
__pycache__
urls.cpython-37.pyc 310B
models.cpython-37.pyc 1KB
__init__.cpython-37.pyc 152B
views.cpython-37.pyc 826B
admin.cpython-37.pyc 486B
views.py 740B
templates
myApp
学生信息编辑.html 851B
学生的班级.html 3KB
请假信息.html 4KB
老师主页.html 699B
老师个人中心.html 3KB
请假记录.html 4KB
学生个人中心.html 4KB
老师的班级.html 3KB
老师信息编辑.html 855B
请假管理.html 4KB
首页登陆.html 2KB
test.html 436B
static
试做型外甲二号机.css 1KB
ynu_logo.jpg 31KB
backgroud_top.jpg 217KB
总样式.css 1KB
试做型外甲.css 3KB
首页.css 3KB
试做一号机.css 2KB
mysite
settings.py 3KB
urls.py 860B
__init__.py 44B
__pycache__
urls.cpython-37.pyc 1009B
settings.cpython-37.pyc 2KB
__init__.cpython-37.pyc 200B
wsgi.cpython-37.pyc 552B
wsgi.py 405B
共 75 条
- 1
资源评论
今天长高了没1
- 粉丝: 28
- 资源: 7
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于Java开发的日程管理FlexTime应用设计源码
- SM2258XT-BGA144-4BGA180-6L-R1019 三星KLUCG4J1CB B0B1颗粒开盘工具 , EC, 3A, 94, 43, A4, CA 七彩虹SL300这个固件有用
- GJB 5236-2004 军用软件质量度量
- 30天开发操作系统 第 8 天 - 鼠标控制与切换32模式
- spice vd interface接口
- 安装Git时遇到找不到`/dev/null`的问题
- 标量(scalar)、向量(vector)、矩阵(matrix)、数组(array)等概念的深入理解与运用
- 数值计算复习内容,涵盖多种方法,内容为gpt生成
- 标量(scalar)、向量(vector)、矩阵(matrix)、数组(array)等概念的深入理解与运用
- 网络综合项目实验12.19
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功