Comment activer et connecter l’interface d’administration Django

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 :

É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.

  1. cd ~/my_blog_app
  2. . 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:

  1. 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.

  1. 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é.

settings.py
...
# 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.

  1. nano urls.py

Sous le commentaire en haut, le fichier devrait ressembler à ce qui suit.

urls.py
"""
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.

  1. 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.

  1. 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.

Output
Operations 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.

  1. 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.

  1. 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.

Output
Username (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.

Output
Password: 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:

  1. 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.

  1. cd ~/my_blog_app/blog/blogsite/

Ensuite, ouvrez le fichier avec nano, par exemple.

  1. nano urls.py

Ajoutez les lignes de code suivantes au fichier.

urls.py
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 :

  1. cd ~/my_blog_app/blog/blogsite

Ensuite, ouvrez le fichier admin.py dans un éditeur de texte de votre choix.

  1. nano admin.py

Le fichier sera rempli d’une déclaration d’importation et d’un commentaire.

admin.py
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.

admin.py
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:

  1. 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.

Source:
https://www.digitalocean.com/community/tutorials/how-to-enable-and-connect-the-django-admin-interface