利用郵件激活用戶
阿新 • • 發佈:2018-09-21
view ger onf imp 客戶 quest 自定義 信息 confirm
一、安裝itsdangerous模塊
利用只有你自己知道的秘鑰來加密你的數據,然後把加密了的數據發給別人,取回數據時再利用已知的秘鑰來解密數據
pip install itsdangerous
from itsdangerous import imedJSONWebSignatureserializer as Serializer serializer = Serializer("secretkery",3600) #第一個參數自定義密鑰(自己知道就行),第二個參數過期時間3600秒 info = {‘confirm‘:1} res = serializer.dumps(info) #返回加密後的數據 serializer.loads(res) #返回解密後的數據
二、加密用戶ID
serializer = Serializer(settings.SECRET_KEY,3600) #第一個參數應用了setting裏的SECRET_KEY,第二個參數過期時間 info = {‘confirm‘"user.id} token = serializer.dumps(info)
三、激活視圖處理
from itsdangerous import SignatureExpired #失效報錯的異常 class ActiveView(View): ‘‘‘用戶激活‘‘‘ def get(self,request,token): #設置URL捕獲token參數 #進行用戶激活 serializer = Serializer(setting.SECRET_KEY,3600) try: info = serializer.loads(token) user_id = info[‘confirm‘] #根據ID獲取用戶信息 user =User.objects.get(id=user_id) user.is_acitve = 1 user.save() except SignatureExpired as e: #激活鏈接已經失效 return RttpResponse(‘激活鏈接已過期‘)
四、發送郵件設置
1)、登錄郵箱開啟客戶端授權密碼:設置一個授權密碼,開啟服務;
2)、在setting設置郵件發送的配置
EMAIL_BACKEDN
利用郵件激活用戶