很抱歉,这个话题很模糊。
不管怎样,我正在尝试将Flask用户集成到我的Flask应用程序中。从注册的角度来看,这种集成是有效的,即用户可以注册,接收确认电子邮件,然后确认他们的帐户。
这个过程也会自动让用户登录。这一切都是在没有使用登录表单的情况下完成的。
但是,如果用户注销并尝试使用登录表单重新登录,则会出现以下错误:
builtins.AttributeError
AttributeError: 'User' object has no attribute 'email_confirmed_at'
我知道这意味着什么,即用户模型没有“电子邮件确认”属性,但该字段仅在使用Flask SQLAlchemy的Flask用户快速启动应用程序中使用。你可以在
documentation
.
我在跟踪
MongoDB App
例如,在任何地方都没有提到那处房产。
有人能告诉我为什么会这样吗?MongoDB示例的“故障排除”部分只是说TBD。
其他信息:
下面是一个SQLAlchemy示例的用户模型:
# Define the User data-model.
# NB: Make sure to add flask_user UserMixin !!!
class User(db.Model, UserMixin):
__tablename__ = 'users'
id = db.Column(db.Integer, primary_key=True)
active = db.Column('is_active', db.Boolean(), nullable=False, server_default='1')
# User authentication information. The collation='NOCASE' is required
# to search case insensitively when USER_IFIND_MODE is 'nocase_collation'.
email = db.Column(db.String(255, collation='NOCASE'), nullable=False, unique=True)
email_confirmed_at = db.Column(db.DateTime())
password = db.Column(db.String(255), nullable=False, server_default='')
# User information
first_name = db.Column(db.String(100, collation='NOCASE'), nullable=False, server_default='')
last_name = db.Column(db.String(100, collation='NOCASE'), nullable=False, server_default='')
# Define the relationship to Role via UserRoles
roles = db.relationship('Role', secondary='user_roles')
下面是MongoDB示例的用户模型:
# Define the User document.
# NB: Make sure to add flask_user UserMixin !!!
class User(db.Document, UserMixin):
active = db.BooleanField(default=True)
# User authentication information
username = db.StringField(default='')
password = db.StringField()
# User information
first_name = db.StringField(default='')
last_name = db.StringField(default='')
# Relationships
roles = db.ListField(db.StringField(), default=[])
非常感谢!