登录逻辑顺序
1.先判断请求为GET或POST
2.查询数据库该用户是否存在
3.查询数据库该用户密码是否正确
注册逻辑顺序
1.线判断请求为GET或POST
2.查询数据库该用户是否存在
3.判断两次密码是否正确
4.判断注册信息的格式是否正确
如果为GET,返回当前页面,如果为POST,获取前端数据进行逻辑判断
def register_(request):
if request.method == 'GET':
return render(request,'register.html')
elif request.method == 'POST':
#创建用户信息表对象
new_user = UserInfo()
#username从前端取,如果没有就为空
new_user.uname = request.POST.get('username','')
a = UserInfo.objects.filter(uname=new_user.uname)
#条件成立都不能注册
if len(a) > 0:
return render(request,'register.html',{'msg':'用户名存在'})
if request.POST.get('pwd') != request.POST.get('cpwd'):
return render(request,'register.html',{'msg':'两次密码不一致'})
#条件不成表示用户名没被注册且两次密码一致
#make_password 加密再存储到数据库
new_user.upwd = make_password(request.POST.get('pwd'),None,'pbkdf2_sha1')
#登录用到的,明文是pwd,密文是pbkdf2_sha1
# T/F = check_password(明文,密文)
new_user.uemail = request.POST.get('uemail')
new_user.uphone = request.POST.get('uphone')
new_user.save()
return
获取前端数据常用方法: request.POST.get('username'',' ') 参1为前端文本框name属性的值,参2为如果参1的值不存在就会return这个' '值