Python基於Django框架開發之views層
阿新 • • 發佈:2018-12-17
登入邏輯順序
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這個' '值