Sommaire

La configuration de votre site d’administration

Après ce rappel (rapide) sur la mise en œuvre du site d’administration, rentrons maintenant dans les détails.

Pour créer l’administration de nos modèles, nous avons donné nos modèles tels quels à Django qui a fait tout le travail.

from django.contrib import admin  
from monprojet.monapp.models import Article  
  
admin.site.register(Article) 

Cette commande est en fait rigoureusement identique au code suivant :

from django.contrib import admin  
from monprojet.monapp.models import Article  
  
class ArticleAdmin(admin.ModelAdmin):  
    pass  
admin.site.register(Article, ArticleAdmin)

Et donc à l’utilisation de la classe ModelAdmin.

Dans cet exemple, la différence entre le fait d’enregistrer directement un modèle et celui de passer par la classe ModelAdmin ne saute pas aux yeux. Pourtant, elle est primordiale, car c’est uniquement en dérivant cette classe que nous allons pouvoir personnaliser l’administration de Django.

Lorsque les écrans d’administration par défaut de Django conviennent, il n’y a pas lieu de s’intéresser aux caractéristiques de cette classe. Dans de nombreux cas et pour des modèles simples, on aura donc uniquement à écrire :

admin.site.register(MonModele)

1. Les objets ModelAdmin/la classe ModelAdmin

Mais si vous souhaitez personnaliser l’Admin, ...