Administrador de matraces:Personalizar el nombre de la tabla para la interfaz de administración
-
21-12-2019 - |
Pregunta
Me gusta cambiar la visualización del nombre en el menú de nivel superior de Flask-Admin.Por defecto parece que usa el nombre del modelo calass.Me gusta cambiar eso por un nombre más legible para los humanos.
He visto que en la plantilla "layout.htlm" hay una variable llamada {{ item.name }}
.Esto se utiliza para mostrar el nombre del menú.¿Hay alguna manera de cambiarlo por otro nombre o de sobrecargar el nombre en la definición del modelo?
Usando __tablename__
no funciona y romperá el flask-admin interno.¿Existe un equivalente a __repr__
pero para el nombre de la tabla en lugar de la columna.
Saludos
Solución
BaseModelView
acepta un argumento llamado name
.Si proporciona un valor, se utilizará para mostrarlo en el menú.
from flask.ext.admin.model import BaseModelView
admin.add_view(BaseModelView(MyModel, 'Menu Text'))
Si está utilizando SQLAlchemy:
from flask.ext.admin.contrib.sqla import ModelView
admin.add_view(ModelView(MyModel, db.session, 'Menu Text'))
Aquí he usado argumentos posicionales, pero podría haberlo hecho con la misma facilidad. name='Menu Text'
en cambio.