Dans ce tutoriel, nous ajouterons le code nécessaire permettant de gérer les utilisateurs et les relations entre modèle dans Flask-Admin.
Pour consulter la première partie du tutoriel, rendez-vous -> Connexion vers l’administration avec Flask.
Modèles
Tout d’abord, nous ajoutons le modèle Meal ainsi qu’une relation dans User qui référence les repas dont l’utilisateur connait la recette.
#models.py class Meal(db.Document): name = db.StringField(default='') def __str__(self): return self.name class User(db.Document, UserMixin): ... meals = db.ListField(db.ReferenceField(Meal)) def ...
Notez l’utilisation de ListField(ReferenceField(laClasse)) pour définir une relation un à plusieurs.
Vues dans Flask-Admin
Afin d’afficher nos vues User et Meal dans l’administration, définissons les.
#views.py class MealView(ModelView): column_filters = ['name'] column_searchable_list = ('name',) class UserView(ModelView): column_filters = ['email'] column_searchable_list = ('email', 'password')
Une fois ajoutés, nous initialisons les vues dans Flask-Admin.
#app/__init__.py ... admin = Admin(name='Admin', template_mode='bootstrap3', index_view=AdminCustomView()) from app.mod_adm.views import AdminCustomView, UserView, MealView from app.mod_adm.models import User, Meal ... admin = Admin(name='Admin', template_mode='bootstrap3', index_view=AdminCustomView()) admin.add_view(MealView(Meal)) admin.add_view(UserView(User))
Félicitations !
Ce tutoriel est à maintenant terminé, vous savez à présent configurer Flask-Admin avec des modèles de données.
0