Introduction à Django Admin

Alors le défi avance, on a vu les basiques pour parler avec la base de données, mettre en place un environnement de développement, installer Django, et on a même géré notre première url. Maintenant, sur presque tous les sites, il faut un dashboard. Django intègre des outils pour scaffolding (en fait, on peut même pas parler de scaffolding je pense) : Django Admin.

challenge python

Créer le super user

Il faut un Super Admin (comme les Supers Guerriers oui) donc on lance :

python manage.py createsuperuser

Il vous demande identifiant, mail et mot de passe, et ça, on sait tous faire n’est-ce pas ?
Ensuite il faut lancer le serveur avec python manage.py runserver perso j’utilise l’alias pyserv.

Là on peut aller sur 127.0.0.1:8000/admin/ et une fois identifié, un tombe sur une gestion ACL (Access Control List) qui a l’air particulièrement bien pensée. C’est typiquement quelque chose de pénible à implémenter sur les Framewoks PHP à mon sens.

Rendre un modèle administrable

Du coup, où sont nos questions par exemple ? Et bien c’est vraiment dingue, mais en 2 lignes, votre app va être dispo dans l’admin !
Il faut juste ouvrir le fichier admin.py dans le dossier de l’app polls, et ajouter ceci :

from .models import Question

admin.site.register(Question)

On rafraîchit l’index de l’admin et tadaaam :

django-admin-1

En fait Django va chercher les types des champs dans les fichiers models.py, et générer les formulaires en faisant une correspondance. Je n’ai jamais trouvé ça sur un Framework PHP, alors que j’ai beaucoup cherché. Peut-être pas assez !

django-admin-2

Et là, le clou du spectacle : un activity feed directement dispo pour chaque entité. En gros, ça vous permet de suivre l’activité des modifications d’une question (pour reprendre notre exemple) et de savoir qui a fait la modification. C’est quelque chose que je dois refaire dans chacun de mes projets.

<3

metrogeek

Comments 2

Laisser un commentaire