Flask-User 是一个用于 Flask 框架的用户管理扩展,它提供了用户认证、注册、密码重置等功能。在 Flask-User 中,active
字段通常用于表示用户账户是否处于激活状态。如果你发现 active
字段的默认值不是 False
,这可能是由于配置或初始化设置的问题。
Flask-User 支持多种用户认证方式,包括本地数据库认证、LDAP 认证等。
如果你发现 active
字段的默认值不是 False
,可能是因为在初始化 Flask-User 时没有正确设置默认值。以下是解决方法:
USER_ENABLE_CONFIRM_EMAIL
或 USER_ENABLE_CHANGE_USERNAME
为 True
,这些设置可能会影响 active
字段的默认行为。active
字段的默认值。from flask import Flask
from flask_user import UserManager, SQLAlchemyAdapter
from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///example.db'
app.config['SECRET_KEY'] = 'your_secret_key'
db = SQLAlchemy(app)
# 定义 User 模型
class User(db.Model):
id = db.Column(db.Integer, primary_key=True)
username = db.Column(db.String(50), nullable=False, unique=True)
email = db.Column(db.String(255), nullable=False, unique=True)
active = db.Column(db.Boolean(), default=False) # 显式设置默认值为 False
# 初始化 Flask-User
db_adapter = SQLAlchemyAdapter(db, User)
user_manager = UserManager(db_adapter, app)
if __name__ == '__main__':
app.run(debug=True)
flask db migrate -m "Set active default to False"
flask db upgrade
通过以上步骤,你应该能够确保 active
字段的默认值为 False
。如果问题仍然存在,请检查是否有其他代码或配置覆盖了这个设置。
没有搜到相关的文章