1. 程式人生 > >利用郵件激活用戶

利用郵件激活用戶

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

  

利用郵件激活用戶