Flask-admin: настроить имя таблицы для интерфейса администратора

StackOverflow https://stackoverflow.com//questions/22017324

  •  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' вместо этого.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top