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

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('传递数据出错,请检查网络')
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值