登入驗證authenticate 及 登入login 、session狀態保持、 退出logout
classloginview(view):
defget(self,request):
return render(request,'
login.html')
defpost(self,request):
data =request.post
username = data.get("
username")
password = data.get("
pwd"
) remembered = data.get("
remembered")
ifnot
all([username,password]):
return render(request,'
login.html
',)#驗證使用者和密碼
user
= authenticate(username=username,password=password)
ifnot
user:
return render(request, '
login.html
', )
#是否啟用
if user.is_active ==false:
return render(request, '
login.html
', )
#登入login(request,user)
#記住使用者名稱 session儲存位置 mysql--...-- django_session裡
if remembered != 'on'
: request.session.set_expiry(0)
else
: request.session.set_expiry(
3600*24)
response = redirect('
/goods/index')
return response
#退出登陸 清空session
class
logoutuser(view):
defget(self,request):
logout(request)
return redirect('
/goods/index
')
#狀態保持 設定為0時 關閉瀏覽器就會退出登入 但不清空session 退出則清空logout退出後 清空當前使用者的狀態
python3 之 天天生鮮 瀏覽記錄
判斷使用者是否登入 當點選商品 詳情 瀏覽記錄商品id 存入redis庫 以list的形式 user的id作為 key from django redis import get redis connection if request.user.is authenticated 建立客戶端 redis...
天天生鮮Django專案總結
有關 的一些問題 request.post.get方法只能獲得陣列的最後乙個元素,必須使用request.post.getlist才能獲取整個陣列,以python列表的形式返回所請求鍵的資料。如果鍵不存在放回空列表。它保證了一定會返回某種形式的list。django2.2及以後的版本於mysql不相...
天天生鮮Django專案(四)
37 在後台新增資料 為了顯示方便,為每乙個模型類新增 str 方法,否則後台只顯示 object n 不好看 goods models.py from django.db import models from db.base model import basemodel from tinymce....