Flask-Administrateur :Personnaliser le nom de la table pour l'interface d'administration

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

  •  21-12-2019
  •  | 
  •  

Question

J'aime changer l'affichage du nom dans le menu de niveau supérieur de Flask-Admin.Par défaut, il semble qu'il utilise le nom du modèle Calass.J'aime changer cela pour un nom plus lisible par l'homme.

J'ai vu que dans le modèle "layout.htlm", il y a une variable appelée {{ item.name }}.Ceci est utilisé pour afficher le nom du menu.Existe-t-il un moyen de changer cela pour un autre nom ou de surcharger le nom dans la définition du modèle ?

En utilisant __tablename__ ne fonctionne pas et brisera l'administrateur interne du flacon.Existe-t-il un équivalent à __repr__ mais pour le nom de la table au lieu de la colonne.

Salutations

Était-ce utile?

La solution

BaseModelView accepte un argument nommé name.Si vous fournissez une valeur, elle sera utilisée pour l'affichage dans le menu.

from flask.ext.admin.model import BaseModelView

admin.add_view(BaseModelView(MyModel, 'Menu Text'))

Si vous utilisez SQLAlchemy :

from flask.ext.admin.contrib.sqla import ModelView

admin.add_view(ModelView(MyModel, db.session, 'Menu Text'))

Ici, j'ai utilisé des arguments de position, mais j'aurais tout aussi bien pu le faire name='Menu Text' plutôt.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top