Flask-Admin中字段的自定义名称

时间:2014-09-19 13:30:05

标签: python flask flask-sqlalchemy flask-admin

如何在Flask-Admin中创建/编辑表单中自定义字段名称?

我知道如何更改表名:

class User(db.Model):
    __tablename__ = 'user'

    id = db.Column('user_id', db.Integer, primary_key=True, autoincrement=True)
    first_name = db.Column(db.String(100))
    last_name = db.Column(db.String(100))
    login = db.Column(db.String(80), unique=True, nullable=False)
    email = db.Column(db.String(120))
    password = db.Column(db.String(128))    

from flask.ext.admin.contrib.sqla import ModelView

class MyModelView(ModelView):
    def is_accessible(self):
        return current_user.is_authenticated()

admin = Admin(app, u'CustomName')

admin.add_view(MyModelView(User, db.session, u'Custom Table Name'))

在创建/编辑表单中,我获得字段名称,如用户db.Model中的列名。

如何更改此字段名称?
例如,要获得Foo'而不是登录'在为用户创建表单?

2 个答案:

答案 0 :(得分:11)

您正在寻找column_labels

class MyModelView(ModelView):
    column_labels = dict(last_name='CUSTOM LAST NAME')

    def is_accessible(self):
        return current_user.is_authenticated()

答案 1 :(得分:3)

您可以:

column_list = ['user.name', 'timestamp']
column_labels = {
'user.name': 'Full Name',
'timestamp' : 'Created Date'
}