【问题标题】:Custom name of field in Flask-AdminFlask-Admin 中字段的自定义名称
【发布时间】:2014-09-19 13:30:05
【问题描述】:

如何在 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' 而不是 'login'?

【问题讨论】:

    标签: python flask flask-sqlalchemy flask-admin


    【解决方案1】:

    您正在寻找column_labels

    class MyModelView(ModelView):
        column_labels = dict(last_name='CUSTOM LAST NAME')
    
        def is_accessible(self):
            return current_user.is_authenticated()
    

    【讨论】:

    • 谢谢!这就是我需要的
    • @phantom 从未将它与 mongoengine 一起使用,也许它是一个错误或未实现。
    【解决方案2】:

    你可以:

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

    【讨论】:

      猜你喜欢
      • 2014-03-08
      • 2014-12-01
      • 2015-10-18
      • 2017-03-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多