在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/Python  Android/ flask用戶密碼 使用hash加密驗證問題

flask用戶密碼 使用hash加密驗證問題

使用werkzeug.security做用戶密碼的加密和驗證,其中有一個方法

@password.setter
    def password(self, password):
        self.password_hash = generate_password_hash(password)

我理解是在為user.password賦值時會調(diào)用該方法def password(self, password)。
于是我這樣使用:

user = User.query.get(data.get('reset'))
user.password_hash = 'password'

但是并沒有調(diào)用方法def password(self, password),請問是為什么?

回答
編輯回答
純妹

@property、@x.setter、@x.deleter實現(xiàn)了同名x屬性的讀取、賦值和刪除。
三個裝飾器裝飾同名方法x,可以搭配使用。

設置的屬性應是password 而非password_hash,直接設置后者是不會調(diào)用相關(guān)hash的

2017年8月17日 07:25
編輯回答
選擇

是這樣,
應該使用user.password = 'password'
@Yujiaao 感謝。

2017年10月23日 20:58