Flask Admin创建用户?

时间:2018-03-12 14:45:01

标签: flask flask-admin

我正在尝试构建一个只有特定用户才能登录的网络应用。因此,当我在样板应用程序上有一个注册页面时,我想禁用它并使用flask admin来创建和管理用户。

但是,当我登录管理页面时,某些字段(如电子邮件和密码)不可用。如何将这些字段放入管理菜单上的“创建”选项卡?请参阅以下用户模型。

class User(db.Model, UserMixin):

    __tablename__ = 'users'

    first_name = db.Column(db.String)
    last_name = db.Column(db.String)
    email = db.Column(db.String, primary_key=True)
    confirmation = db.Column(db.Boolean)
    _password = db.Column(db.String)
    email_confirmation_sent_on = db.Column(db.DateTime, nullable=True)
    email_confirmed_on = db.Column(db.DateTime, nullable=True)
    registered_on = db.Column(db.DateTime, nullable=True)
    last_logged_in = db.Column(db.DateTime, nullable=True)
    current_logged_in = db.Column(db.DateTime, nullable=True)

1 个答案:

答案 0 :(得分:1)

我不知道您为什么没有看到电子邮件字段,因为您没有包含用户管理视图的定义,但以下划线开头的参数(如_password)将自动由flask-admin隐藏。您可以在用户管理类中明确地包含它:

class UserAdminView(BaseModelView):
    ...
    form_columns = (..., '_password', ...)
    ...

如果可以重新生成或迁移数据库,您也可以从模型中删除下划线。

编辑: 看起来您也可以在用户管理视图上声明ignore_hidden = False