Flask-admin: настроить имя таблицы для интерфейса администратора
-
21-12-2019 - |
Вопрос
Мне нравится менять отображение имени в меню верхнего уровня Flask-admin.По умолчанию, кажется, он использует название модели Calass.Мне нравится менять это для более читаемого человеческого имени.
Я видел, что в шаблоне «Layout.htlm» есть переменная под названием {{ item.name }}
.Это используется для отображения имени меню.Есть ли способ изменить это для другого имени или набрать название в определении модели?
Использование __tablename__
не работает и сломает внутреннюю колбу-админ.Есть ли эквивалент __repr__
, но для имени таблицы вместо столбца.
С уважением
Решение
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'
вместо этого.