1. Introduction à l'administrateur Django
Django Admin est un outil backend de gestion fourni avec le framework Django. Il permet aux développeurs de gérer facilement les modèles de données dans les applications via une interface Web intuitive. L'administrateur fournit des opérations de modèle CRUD (Créer, Lire, Mettre à jour, Supprimer), ainsi que des fonctions de traitement par lots de données et de recherche, ce qui simplifie grandement la gestion quotidienne de la base de données. Il convient non seulement à la phase de développement, mais également à la maintenance des données dans l'environnement de production.
2. Personnalisation de l'interface d'administration
Django Admin offre une multitude d'options de personnalisation, permettant aux développeurs d'ajuster l'interface en fonction des besoins du projet.
- Modèles d'administration personnalisés : vous pouvez modifier l'apparence de l'interface d'administration en créant des modèles personnalisés,
AD : Page d'accueil | Une plateforme en ligne efficace couvrant un large éventail d'outils thématiques tels que la modificationadmin/base_site.html
. - CSS et JavaScript d'administration personnalisés :
settings.py
des fichiers CSS et JavaScript personnalisés peuvent être ajoutés pour modifier le style et le comportement de l'administrateur.
2.2 Utiliser la classe Admin pour une configuration avancée
Django Admin utilise la classe Admin pour configurer l'interface de gestion du modèle.
- Créer une classe Admin : Dans
admin.py
, créez une classe Admin pour chaque modèle, par exempleclass MyModelAdmin(admin.ModelAdmin): ...
. - Enregistrer la classe Admin : utilisez
admin.site.register(MyModel, MyModelAdmin)
le modèle d'enregistrement et sa classe Admin correspondante. - Options de configuration : Dans la classe Admin, vous pouvez définir diverses options, comme
list_display
spécifier les champs affichés sur la page de liste,search_fields
ajouter un champ de recherche, etc.
2.3 Gestion des champs et des ensembles de champs
- Gestion des champs
fields
: Vous pouvez utiliser l'attribut ou dans la classe Adminfieldsets
pour contrôler l'affichage des champs dans la page d'édition. - Ensembles de champs :
fieldsets
autorisez le regroupement des champs pour offrir une meilleure expérience utilisateur,fieldsets = [('基本信息', {'fields': ['name', 'description']}), ...]
par ex.
2.4 Optimisation des pages de liste
- Personnaliser l'affichage de la liste : utilisez
list_display
les champs pour contrôler l'affichage de la page de liste,list_filter
ajouter des filtres etordering
définir le tri par défaut. - Ajouter des boutons d'action : utilisez
actions
des attributs pour ajouter des actions groupées, telles que la suppression groupée ou le marquage comme lu.
2.5 Utilisation de modèles en ligne
Les modèles en ligne permettent de modifier le modèle associé directement dans la page d'édition du modèle parent.
- Définissez un modèle en ligne : utilisez l'attribut dans la classe Admin
inlines
par exempleclass RelatedModelInline(admin.TabularInline): model = RelatedModel
. - Utiliser des modèles en ligne : ajoutez des modèles en ligne dans la classe Admin du modèle parent, tels que
inlines = [RelatedModelInline]
.
3 Personnalisation et extension de l'administration
3.1 Personnaliser le modèle d'administration
- Modèle d'administration personnalisé : Django Admin vous permet de personnaliser l'apparence et le comportement de l'interface d'administration, notamment en modifiant l'apparence des listes de modèles, des formulaires et des pages de détails.
- Style d'administration personnalisé : vous pouvez ajuster le style de l'interface d'administration en remplaçant le modèle d'administration ou en utilisant du CSS personnalisé.
3.2 Utilisation des actions d'administration
- Actions d'administration : Django Admin fournit la fonction d'actions d'administration, qui vous permet de traiter par lots des objets sur l'interface d'administration, tels que la suppression par lots, l'exportation et d'autres opérations.
- Actions d'administration personnalisées : vous pouvez écrire des actions d'administration personnalisées pour effectuer des opérations par lots spécifiques.
3.3 Intégrer des applications tierces
- Intégration d'applications tierces : Django vous permet d'intégrer facilement des applications tierces En installant et en configurant des applications tierces, vous pouvez étendre les fonctionnalités de Django.
3.4 Internationalisation et localisation
- Internationalisation : Django fournit un support d'internationalisation, vous permettant de localiser votre application dans plusieurs langues.
- Localisation : Les applications peuvent être facilement localisées dans différentes langues et régions en utilisant les outils d'internationalisation et les mécanismes de traduction intégrés de Django.
3.5 Utilisation du framework Django REST pour le développement d'API
- Django REST Framework : DRF est un outil puissant et flexible pour créer des API Web. Il fournit des fonctions riches, notamment la sérialisation, les vues, l'authentification, les autorisations, etc.
- Développement d'API : grâce à DRF, vous pouvez rapidement créer une API conforme aux principes de conception RESTful et fournir des interfaces de données pour les applications mobiles, les frameworks front-end ou d'autres services.
Exemples de personnalisation du code :
# Register your models here.
from django.db import models
from blog.models import Article
admin.site.site_header= "自动化测试平台"
admin.site.site_title= "自动化测试平台"
#@admin.register(Article)
class ArticleAdmin(admin.ModelAdmin):
#编辑要显示的信息
list_display = ["title","brief_content","publish_date"]
#list_filter = ['title']
#搜索的字段
search_fields = ['title', 'brief_content']
admin.site.register(Article,ArticleAdmin)