您的位置:首页 > 编程语言 > Go语言

Django开发幼儿园管理系统---实现注册、登录功能

2017-06-01 16:48 561 查看

Django搭建问题—–用户认证问题

最近在写一个管理系统,在设计用户认证这一部分的时候遇到了不小的问题,主要是Django自带的登录认证的使用是建立在构造或者扩展User类的基础上。而在我自己设计的系统中,登录用户分为两类,一类是教师。一类是家长。因为自己并不熟悉auth模块,阅读了一些文档,但没有理解使用的方法,所以并没有使用auth模块,不过这次是因为时间紧张,下次有时间的时候会再继续研究Django的.

注册模块代码:

#注意,这里使用了我自己定义的Parent和Teacher类,只是记录一下写代码的过程,尽量不要copy使用
def register(request):
user_state = request.POST.get('register_state', '教师')
user_nick = request.POST.get('user_nick', '风吹屁屁凉')
pas = request.POST.get('pas', 'wozhua00')
user_name = request.POST.get('user_name', '江明泽')
user_sex = request.POST.get('user_sex','Male')
user_tel = request.POST.get('user_tel', '110')
parent = Parent.objects.filter(par_nickname=user_nick)
teacher = Teacher.objects.filter(tea_nickname=user_nick)
if(parent or teacher):
return HttpResponse('用户名已被注册')
if(user_state == '家长'):
user = Parent.objects.create(par_nickname=user_nick,par_password=pas,par_sex=user_sex,par_name=user_name,par_tel=user_tel)
user.save()
return render(request,'login.html')
elif(user_state == '教师'):
tea = Teacher.objects.create(tea_nickname=user_nick,tea_pas=pas,tea_sex=user_sex,tea_name=user_name,tea_tel=user_tel)
tea.save()
return render(request,'login.html')
else:
return HttpResponse('传递数据出错,请检查网络')`


登录模块代码

#注意,这里使用了我自己定义的Parent和Teacher类,只是记录一下写代码的过程
def login(request):
user = request.POST.get('user','风吹屁屁凉')
pas = request.POST.get('pas','wozhua00')
loginState = request.POST.get('loginState','教师')
print(loginState)
if loginState == '教师':
tea_user = Teacher.objects.filter(tea_nickname__exact = user,tea_pas__exact= pas)
if tea_user:
#跳转到登陆后界面
request.session['user'] = user
response = render(request,'afterLogin.html',{'user':tea_user[0],'state':'tea'})
return response
else:
return HttpResponse('登录失败,检查用户名密码')

elif loginState == '家长':
par_user = Parent.objects.filter(par_nickname__exact=user, par_password__exact=pas)
if par_user:
# 跳转到登陆后界面
request.session['user'] = user
response = render(request, 'afterLogin.html',{'user':par_user[0],'state':'par'})
# response.set_cookie('username', user, 3600)
return response
else:
return HttpResponse('登录失败,检查用户名密码')
else:
return HttpResponse('传递数据出错,请检查网络')
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  django
相关文章推荐