Administration Django¶
Ce document présente la configuration de l’interface d’administration Django pour le projet Thermonova, couvrant la gestion des modèles liés à la clé API, permissions et autres entités métier.
Fonction utilitaire¶
get_table_choices()¶
Cette fonction génère dynamiquement la liste des noms de tables (modèles) disponibles dans l’application api, en excluant les modèles de gestion des permissions et clés API.
Elle sert à fournir un choix dans le formulaire d’administration de la table TablePermission.
Classe TablePermissionAdmin¶
- Personnalise l’affichage des permissions par table.
- Colonnes visibles : nom de la table et droits actifs (GET, POST, PUT, PATCH, DELETE).
- Filtres disponibles sur le nom de la table et chaque droit.
- Recherche possible sur le nom de la table.
- Le champ
table_nameutilise un menu déroulant basé sur les tables dynamiques. - Méthode
display_rightsaffiche les droits sous forme compacte lisible.
Classe ApiKeyAdmin¶
- Affiche les clés API avec utilisateur associé, dates, état actif et résumé des permissions.
- Recherche par clé et nom utilisateur.
- Filtres sur la validité et les dates.
- Edition simplifiée avec génération automatique de clé si manquante.
- Permissions gérées via un widget à sélection multiple horizontale.
- Champs
keyetcreateden lecture seule. - Résumé clair des permissions associées.
Enregistrements des autres modèles pour administration simple¶
Modèles enregistrés sans personnalisations supplémentaires :
ItemEnergyHeaterSupplierDepartmentDepartmental_cost
Personnalisation globale du panneau admin¶
- Nom affiché dans l’en-tête : Thermonova API Administration
- Titre de la page d’administration : Thermonova Admin
- Titre de la page d’accueil du panneau : Admin Dashboard
Cette configuration améliore la gestion et la visibilité des données dans l’interface admin et facilite les tâches d’administration métier et sécurité de l’API.