Introduction
Si vous avez suivi la série de développement Django, vous avez démarré une application Django, connecté votre application à MySQL et créé les modèles de base de données pour les données Posts
et Comments
au sein de votre application web de blog.
Dans ce tutoriel, nous allons nous connecter et activer le site d’administration Django afin que vous puissiez gérer votre site web de blog. Le site d’administration Django est livré pré-construit avec une interface utilisateur conçue pour vous permettre, ainsi qu’à d’autres personnes de confiance, de gérer le contenu du site.
Il est important de noter que la documentation officielle de Django souligne que bien que cela soit idéal pour un usage interne dans une organisation, il n’est pas recommandé de construire une application web autour d’une interface d’administration Django générée automatiquement. Si vous constatez que votre interface doit être plus axée sur les processus ou qu’elle tend à masquer les détails d’implémentation des tables et des champs de la base de données, il serait préférable d’écrire vos propres vues pour la partie administration.
Prérequis
Ce tutoriel fait partie de la série de développement Django et constitue une continuation de cette série.
Si vous n’avez pas suivi cette série, nous faisons les hypothèses suivantes :
- Vous avez installé Django version 4 ou ultérieure.
- Vous avez connecté votre application Django à une base de données. Nous utilisons MySQL, et vous pouvez réaliser cette connexion en suivant la deuxième partie de la série Django, « Comment créer une application Django et la connecter à une base de données« .
- Vous travaillez avec un système d’exploitation de type Unix, de préférence un serveur cloud Ubuntu 22.04, car c’est le système sur lequel nous avons effectué les tests. Si vous souhaitez configurer Django dans un environnement similaire, veuillez consulter notre tutoriel, « Comment installer Django et configurer un environnement de développement sur Ubuntu 22.04« .
Étant donné que ce tutoriel traite principalement de l’interface d’administration Django, vous devriez pouvoir suivre même avec une configuration légèrement différente.
Étape 1 — Activer l’interface d’administration
Chaque fois que nous commençons à travailler en Python et Django, nous devrions activer notre environnement virtuel Python et nous déplacer vers le répertoire principal de notre application. Si vous avez suivi la série, vous pouvez le faire en tapant ce qui suit.
- cd ~/my_blog_app
- . env/bin/activate
Pour activer l’interface d’administration de Django, nous devons nous assurer que notre application fait partie de la liste des INSTALLED_APPS
dans le fichier settings.py
.
Naviguez jusqu’au répertoire du fichier de configuration:
- cd ~/my_blog_app/blog/blog/
À partir de là, ouvrez le fichier settings.py
. S’il n’est pas déjà là, ajoutez django.contrib.admin
à la liste des INSTALLED_APPS
, en utilisant un éditeur de texte comme nano.
- nano settings.py
La section INSTALLED_APPS
du fichier devrait ressembler au fichier ci-dessous. Notre application dans la liste est celle en haut, 'blogsite',
mais si vous avez créé une application avec un nom différent, assurez-vous que cette application est répertoriée dans ce fichier comme illustré.
...
# Définition de l'application
INSTALLED_APPS = [
'blogsite',
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
]
...
Assurez-vous de sauvegarder et de fermer le fichier si vous avez apporté des modifications. Dans nano, vous pouvez le faire en tapant CTRL
et X
, puis Y
, puis ENTER
.
Nous pouvons maintenant ouvrir le fichier urls.py
, encore une fois avec nano ou un autre éditeur de texte.
- nano urls.py
Sous le commentaire en haut, le fichier devrait ressembler à ce qui suit.
…
"""
from django.contrib import admin
from django.urls import path
urlpatterns = [
path('admin/', admin.site.urls),
]
Si le fichier est différent de ce qui précède, copiez et collez les lignes ci-dessus dans votre fichier urls.py
.
Maintenant que nous avons vérifié que notre projet web Django a le code approprié dans les fichiers settings.py
et urls.py
, nous savons que notre application aura accès aux modèles admin et à l’interface utilisateur admin.
Étape 2 — Vérifier que Admin est une application installée
Ensuite, nous devrions migrer les modèles vers la base de données afin qu’elle récupère les modèles Admin nouvellement ajoutés.
Naviguez vers le répertoire où se trouve le fichier manage.py
.
- cd ~/my_blog_app/blog
N’oubliez pas d’exécuter la commande migrate
chaque fois que vous apportez des modifications aux modèles
, comme ceci.
- python manage.py migrate
Si nous n’avons apporté aucune modification aux fichiers ci-dessus, nous devrions recevoir une sortie similaire à celle-ci lors de l’exécution de la commande migrate
.
OutputOperations to perform:
Apply all migrations: admin, auth, blogsite, contenttypes, sessions
Running migrations:
No migrations to apply.
Sinon, la sortie devrait indiquer que Django a effectué les migrations nécessaires pour prendre en charge notre application.
Nous pouvons maintenant démarrer le serveur en exécutant la commande suivante. Vous pouvez remplacer 0.0.0.0
par votre adresse IP.
- python manage.py runserver 0.0.0.0:8000
Ensuite, accédez à l’URL du panneau d’administration dans un navigateur de votre choix. Assurez-vous de saisir l’adresse IP de votre serveur.
http://your-server-ip:8000/admin/
Vous verrez un écran de connexion similaire à celui-ci.
Parvenir à cet écran nous permet de savoir que nous avons activé avec succès l’application admin.
Bien que nous ayons activé l’application, nous n’avons peut-être pas encore configuré de compte d’administration Django. Nous pouvons créer le compte administrateur afin de nous connecter à la prochaine étape.
Étape 3 — Créer un compte super-utilisateur administrateur
Si vous avez déjà configuré un compte administrateur et pouvez vous connecter à votre page d’administration, vous pouvez passer cette étape.
Ouvrez un nouveau terminal pour vous connecter au serveur, ou désactivez l’application Django en appuyant sur CTRL
et C
afin que nous puissions travailler sur l’environnement de programmation du terminal de notre serveur.
Django vous permet de générer un compte super-utilisateur, que nous pouvons faire en exécutant le fichier manage.py
pour démarrer le processus de création du super-utilisateur.
- python manage.py createsuperuser
Une fois que nous l’aurons fait, nous serons invités à remplir les détails de notre nom d’utilisateur, de notre email et de notre mot de passe. Dans ce tutoriel, nous allons créer un compte administrateur avec le nom d’utilisateur admin_user
, l’email [email protected]
et le mot de passe admin123
. Vous devriez remplir ces informations avec vos propres préférences et vous assurer d’utiliser un mot de passe sécurisé que vous vous souviendrez.
OutputUsername (leave blank to use 'root'): admin_user
Email address: [email protected]
Ensuite, saisissez votre mot de passe deux fois lorsque vous voyez le prompt Mot de passe :
. Vous ne recevrez pas de sortie des frappes de votre mot de passe lorsque vous le saisissez. Appuyez sur entrée après chaque invite pour confirmer votre mot de passe.
OutputPassword:
Password (again):
À ce stade, nous avons maintenant un compte administrateur avec le nom d’utilisateur admin_user
et le mot de passe admin123
.
Connectons-nous et examinons ce qui existe sur notre page d’administration.
Si nécessaire, lancez à nouveau l’application Django avec python manage.py runserver 0.0.0.0:8000
puis accédez à nouveau à l’URL http://your-server-ip:8000/admin/
pour accéder à la page de connexion de l’administration. Ensuite, connectez-vous avec le nom d’utilisateur et le mot de passe que vous venez de créer.
Après une connexion réussie, vous recevrez la page suivante.
Ensuite, nous devrons travailler sur la connexion de notre application de blog au panneau d’administration.
Étape 4 — Créer des motifs d’URL pour les articles et les commentaires
Lors de l’étape précédente, nous nous sommes connectés avec succès à l’interface d’administration, mais vous avez peut-être remarqué que notre application de blog n’est pas encore disponible là-bas. Pour peupler notre interface d’administration avec l’application de blog, nous devons l’ajouter et l’enregistrer avec les modèles associés Post
et Comment
.
Pour ce faire, nous allons créer un fichier vide appelé urls.py
, dans le répertoire blogsite
, comme ceci:
- touch ~/my_blog_app/blog/blogsite/urls.py
Dans ce fichier, nous ajouterons le motif d’URL pour notre application de blog afin que nous puissions y accéder via l’interface d’administration.
Accédez à l’emplacement de ce fichier urls.py
que nous venons de créer.
- cd ~/my_blog_app/blog/blogsite/
Ensuite, ouvrez le fichier avec nano, par exemple.
- nano urls.py
Ajoutez les lignes de code suivantes au fichier.
from django.urls import path
from . import views
urlpatterns = [
path('$/', views.posts, name='posts'),
path('$/', views.comments, name='comments'),
]
Il s’agit des expressions de modèle d’URL nécessaires pour permettre à notre application d’accéder aux vues
pour les Publications
et les Commentaires
. Nous n’avons pas encore créé ces vues
, mais nous aborderons cela plus tard dans la série.
Étape 5 — Connectez l’application de blog à l’administration
Connecter notre blog à l’interface d’administration nous permettra de voir des liens pour à la fois les Publications
et les Commentaires
dans le tableau de bord d’administration. Pour l’instant, le tableau de bord affiche actuellement uniquement des liens pour les Groupes
et les Utilisateurs
.
Pour connecter les deux ensemble, nous devons enregistrer nos modèles Publications
et Commentaires
dans le fichier d’administration de blogsite
.
Accédez au répertoire blogsite
:
- cd ~/my_blog_app/blog/blogsite
Ensuite, ouvrez le fichier admin.py
dans un éditeur de texte de votre choix.
- nano admin.py
Le fichier sera rempli d’une déclaration d’importation et d’un commentaire.
from django.contrib import admin
# Enregistrez vos modèles ici.
Vous devez modifier le fichier pour qu’il contienne le code suivant afin de prendre en charge notre application.
from django.contrib import admin
from blogsite.models import Post
from blogsite.models import Comment
admin.site.register(Post)
admin.site.register(Comment)
Lorsque vous êtes satisfait du fichier, enregistrez et quittez.
Vous avez maintenant enregistré les modèles Post
et Comment
dans le panneau d’administration. Cela permettra à l’interface d’administration de récupérer ces modèles et de les afficher à l’utilisateur connecté et visualisant le tableau de bord d’administration.
Étape 6 — Vérifier que l’application Blog a été ajoutée à l’administration
Maintenant que vous avez ajouté le code Python pertinent, lancez le serveur. Ouvrez http://your-server-ip:8000/admin
et connectez-vous à l’administration en utilisant vos identifiants si vous n’êtes pas déjà connecté. Dans ce tutoriel, nous nous sommes connectés avec le nom d’utilisateur admin_user
et le mot de passe admin123
.
Maintenant que vous êtes connecté, vous devriez voir la page web suivante. Si elle n’a pas changé depuis avant, vous devrez peut-être rafraîchir votre navigateur.
Cela vérifie que nous avons maintenant connecté notre application, blogsite
, au tableau de bord d’administration de Django.
Lorsque vous avez terminé de tester votre application, vous pouvez appuyer sur CTRL
+ C
pour arrêter le serveur Django. Cela vous ramènera à votre environnement de programmation.
Lorsque vous êtes prêt à quitter votre environnement Python, vous pouvez exécuter la commande deactivate
:
- deactivate
Désactiver votre environnement de programmation vous ramènera à l’invite de commande du terminal.
Conclusion
Dans ce tutoriel, vous avez réussi à activer l’interface d’administration, à créer une connexion administrateur et à enregistrer les modèles Post
et Comment
dans l’administration.
L’interface d’administration de Django est la manière dont vous pourrez créer des articles et suivre les commentaires sur votre blog.
Dans les prochains épisodes, nous créerons les views
pour l’application blog.