python3 之 天天生鮮 專案(初學者)4

2022-08-15 03:42:13 字數 1661 閱讀 4805

登入驗證authenticate    及 登入login  、session狀態保持、 退出logout

class

loginview(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....