Flask-Admin: Personalizza il nome della tabella per l'interfaccia di amministrazione
-
21-12-2019 - |
Domanda
Mi piace cambiare il display del nome nel menu di primo livello di Flask-Admin.Per impostazione predefinita sembra che utilizza il nome del modello di Calass.Mi piace cambiarlo per un nome più leggibile umano.
L'ho visto nel modello "Layout.htlm", c'è una variabile chiamata {{ item.name }}
.Questo è usato per visualizzare il nome del menu.C'è un modo per cambiarlo per un altro nome o per sovraccaricare il nome nella definizione del modello?
L'utilizzo di __tablename__
non funziona e interromperà il pallone interno.C'è un equivalente a __repr__
ma per il nome della tabella anziché la colonna.
Saluti
Soluzione
BaseModelView
accetta un argomento denominato name
.Se si fornisce un valore, verrà utilizzato per la visualizzazione del menu.
from flask.ext.admin.model import BaseModelView
admin.add_view(BaseModelView(MyModel, 'Menu Text'))
.
Se stai usando SQLalchemy:
from flask.ext.admin.contrib.sqla import ModelView
admin.add_view(ModelView(MyModel, db.session, 'Menu Text'))
.
Qui ho usato argomenti posizionali, ma avrei potuto essere facilmente eseguito facilmente name='Menu Text'
.