Django实现注册/登录:方法2

 1 # 注册********
 2 
 3 
 4 def userreg(request):
 5     if request.method == 'POST':
 6         dict = request.POST.dict()  # 把新用户输入的邮箱、密码、昵称等转成字典形式
 7         try:
 8             del dict['csrfmiddlewaretoken']
 9             # 保存新用户到数据库的User表 注意create
10             user = Users.objects.create(createtime=time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time())),**dict)  # **dict必须放到最后
11             # 用数据库的自增长id写入字典的id
12             dict['id'] = user.id
13             # Users.objects.create(email=email, pwd=pwd, nicheng=nicheng) #创建一个对象实例
14             request.session['dict'] = dict  # 设置注册session
15             
16             return redirect('/userlogin') #重定向至登录,实现登陆后注册
17         except Exception as err:
18             errStr = err.args[1]
19             if 'emailuniq' in errStr:
20                 return HttpResponse('<script>alert("用户名重复");location.href="/";</script>')
21             elif 'nichenguniq' in errStr:
22                 return HttpResponse('<script>alert("昵称重复");location.href="/";</script>')
23     else:
24         return HttpResponse('<script>alert("请正确提交");location.href="/";</script>')
25 
26 
27 # 登录*********↓↓↓↓↓
28 
29 
30 def userlogin(request):
31     if request.method == 'POST': #判断是否是POST方式登录
32         rs = Users.objects.filter(email=request.POST.get('email'), pwd=request.POST.get('pwd')).first()
33         if rs != None: #如果匹配成功
34             loginbean = {}
35             loginbean['id'] = rs.id
36             loginbean['nicheng'] = rs.nicheng
37             loginbean['role'] = rs.role
38             request.session['loginbean'] = loginbean  #保存session
39             # return render(request, 'home.html')
40             if rs.role > 0:
41                 return redirect('../home')
42             else:
43                 return redirect('../adminspace')
44         else:
45             return HttpResponse('<script>alert("用户名或密码错误");location.href="/";</script>')
46     else: #这里以下是注册传过来的
47         dict = request.session['dict']
48         if dict != None:
49             loginbean = {}
50             loginbean['id'] = dict['id']
51             loginbean['nicheng'] = dict['nicheng']
52             loginbean['role'] = 1
53             request.session['loginbean'] = loginbean
54             del request.session['dict']
55             return render(request, 'home.html')
56         else:
57             return HttpResponse('<script>alert("请登录");location.href="/";</script>')
原文地址:https://www.cnblogs.com/darkmoon/p/7993703.html