我想更改Flask-Admin顶级菜单中的名称显示。默认情况下,他似乎使用了calass模型名称。我希望将其更改为更具人性化的名称。
我在“layout.htlm”模板中看到过,有一个名为{{ item.name }}
的变量。这用于显示菜单的名称。有没有办法将其更改为其他名称或在模型定义中对名称进行附加费?
使用__tablename__
不起作用,将破坏内部flask-admin。是否有等效于__repr__
但是对于表名而不是列。
此致
答案 0 :(得分:8)
BaseModelView
接受名为name
的参数。如果您提供了一个值,它将用于在菜单上显示。
from flask.ext.admin.model import BaseModelView
admin.add_view(BaseModelView(MyModel, 'Menu Text'))
如果您使用的是SQLAlchemy:
from flask.ext.admin.contrib.sqla import ModelView
admin.add_view(ModelView(MyModel, db.session, 'Menu Text'))
这里我使用了位置参数,但我可以轻而易举地完成name='Menu Text'
。