我有一个python烧瓶应用程序,使用 mongoengine 和 flask-security 从示例中构建,以显示所有确认,注册,跟踪和恢复功能。< / p>
除了用户在代码中使用:
创建命令之外,一切都有效MongoEngineUserDatastore.create_user(...)
无法登录。也就是说,当您尝试使用此用户登录时,会收到错误消息:
"Email requires confirmation"
由于尚未发送带有散列网址的电子邮件,因此无法确认。是否有一个参数我可以在某处传递以在创建时确认该用户或在某处设置确认标志?
Here是我的代码:
答案 0 :(得分:5)
我通过确认新注册的用户并检查mongodb以查看添加了哪些字段来解决这个问题。事实证明,确认所需的字段是confirmed_at,其必须具有日期时间:
import datetime
# Create a user to test with
@app.before_first_request
def create_user():
user_datastore.create_user(
email='me@mydomain.com',
password=utils.encrypt_password('password'),
confirmed_at=datetime.datetime.now())
我在这里更新了要点:
答案 1 :(得分:1)
创建测试用户时,需要激活它们,例如:
@app.before_first_request
def create_user():
user_datastore.create_user(
email='me@mydomain.com',
password=utils.encrypt_password('password'),
active=True)