0
我正在通過閱讀本書http://flaskbook.com/#(我在下面發佈的一些代碼摘自本書中的示例)學習燒瓶,但我想使用mongodb作爲數據庫所以我使用燒瓶 - mongoengine擴展。其實,我試圖建立一個帳戶驗證系統,你可以在下面找到我的源代碼:如何使用燒瓶和mongoengine構建賬戶驗證系統
from flask.ext.mongoengine import MongoEngine
from werkzeug.security import generate_password_hash
from flask.ext.login import UserMixin
app = Flask(__name__)
db = MongoEngine(app)
class User(UserMixin, db.Document):
email = db.StringField(required=True, unique=True)
username = db.StringField(required=True, unique=True, max_length=50)
password_hash = db.StringField(max_length=128)
@property
def password(self):
raise AttributeError('Password is not a readable attribute!')
@password.setter
def password(self, password):
self.password_hash = generate_password_hash(password)
和下面你可以看到在shell我的問題:
>>> from my_app import User
>>> u = User(email='[email protected]', username='bestuser', password='ciao')
>>> u.password_hash
>>> "no output here"
但如果我不喜歡即:
>>> u.password = 'ciao'
>>> u.password_hash
'pbkdf2:sha1:1000$39qJ6zDT$4f2a446acc7205ad53f0b5cc5409b2d9420c29a5'
它工作正常。
所以我實際上並不知道如何解決這個問題。每個建議都非常受歡迎。 如果您需要更多信息,請提前致謝。
非常感謝你的回答,但如果我喜歡你說我說我得到另一個錯誤:AttributeError:'用戶'對象沒有屬性'_data' – mrvaita 2014-09-29 07:46:03