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

È stato utile?

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'.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top