Comment activer et connecter l’interface d’administration de Django

introduction

Jusqu’à présent, dans cette série 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 + Commentaires + au sein de votre application Web de blog.

Dans ce didacticiel, nous allons nous connecter et activer le site https://docs.djangoproject.com/fr/1.11.11/ref/contrib/admin/[Django afin de vous permettre de gérer le site Web de votre blog. Le site d’administration de 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 Web.

Il est à noter que la documentation officielle de Django indique que, même si cela convient parfaitement à une utilisation interne à une organisation, il n’est pas recommandé de créer une application Web autour d’une interface d’administration Django générée automatiquement. Si vous constatez que votre interface doit être davantage centrée sur les processus ou si elle résume les détails d’implémentation des tables et des champs de la base de données, il est préférable d’écrire vos propres vues pour le côté administrateur.

Conditions préalables

Ce tutoriel fait partie de la série Django Development.

Étape 1 - Activer l’administrateur

Commencez par activer votre environnement virtuel Python:

cd ~/my_blog_app
. env/bin/activate

Afin d’activer l’administrateur Django, nous devons l’ajouter à la liste de + INSTALLED_APPS + dans le fichier + settings.py +.

Accédez au répertoire du fichier de paramètres:

cd ~/my_blog_app/blog/blog/

À partir de là, ouvrez le fichier + settings.py +. Si ce n’est pas déjà fait, ajoutez + django.contrib.admin + à la liste de + INSTALLED_APPS +, en utilisant un éditeur de texte comme nano.

nano settings.py

La section + INSTALLED_APPS + du fichier devrait ressembler à ceci:

settings.py

...
# Application definition
INSTALLED_APPS = [
   'blogsite',
   'django.contrib.admin',
   'django.contrib.auth',
   'django.contrib.contenttypes',
   'django.contrib.sessions',
   'django.contrib.messages',
   'django.contrib.staticfiles',
]
...

Veillez à enregistrer et à fermer le fichier si vous avez apporté des modifications.

Nous pouvons maintenant ouvrir le fichier + urls.py +, toujours avec nano ou un autre éditeur de texte.

nano urls.py

Le fichier ressemblera à ceci:

urls.py

...
from django.urls import path
from django.contrib import admin
urlpatterns = [
   path('admin/', admin.site.urls),
]

Depuis la release de Django 2.0, le nouveau https://docs.djangoproject.com/en/2.0/topics/http/urls/ [ La fonction django.url.path ()] est une amélioration de l’ancienne méthode de création de modèles d’URL avec la fonction + url () +. La fonction + path () + permet une syntaxe de routage d’URL plus simple et plus lisible.

Voici un exemple illustrant ceci. La fonction + url () + précédente, illustrée ici:

url(r'^articles/(?P<year>[0-9]{4})/$', views.year_archive),

Peut maintenant être écrit avec la fonction + path () +:

path('articles/<int:year>/', views.year_archive),

La nouvelle syntaxe prend également en charge la contrainte de type des paramètres d’URL. Le mot-clé year de l’exemple ci-dessus serait alors interprété comme un + int + par opposition à un + string +.

Maintenant que nous nous sommes assurés 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 et à l’interface utilisateur d’administration.

Étape 2 - Vérifiez que l’administrateur est une application installée.

Nous devrions ensuite migrer les modèles vers la base de données afin qu’elle récupère les modèles Admin récemment ajoutés.

Naviguez jusqu’au répertoire où se trouve le fichier + manage.py +.

cd ~/my_blog_app/blog

N’oubliez pas de lancer la commande + migrate + chaque fois que vous apportez des modifications aux + modèles +, comme cela.

python manage.py migrate

Lors de l’exécution de la commande, nous aurions dû recevoir le résultat suivant car le modèle + admin + avait déjà été ajouté, comme nous l’avons vu lors de la navigation dans les sections + INSTALLED_APPS + du fichier + settings.py +.

OutputOperations to perform:
 Apply all migrations: admin, auth, blogsite, contenttypes, sessions
Running migrations:
 No migrations to apply.

Nous pouvons maintenant démarrer le serveur en exécutant la commande suivante avec l’adresse IP de votre serveur.

python manage.py runserver :8000

Ensuite, accédez à l’URL du panneau d’administration dans le navigateur de votre choix:

http://:8000/admin/

Vous verrez quelque chose de semblable à ceci.

image: https: //assets.digitalocean.com/articles/eng_python/django/django-admin-login.png [Écran de connexion à l’administrateur Django]

Accéder à cet écran montre que nous avons activé avec succès l’application d’administration.

Bien que nous ayons activé l’application, nous n’avons pas encore de compte d’administration Django. Nous devrons créer le compte administrateur pour pouvoir vous connecter.

Étape 3 - Créer un compte super-utilisateur Admin

Vous remarquerez qu’une page de connexion apparaît, mais nous n’avons pas d’informations d’identification pour vous connecter. La création de ces informations d’identification sera simple.

Django offre un moyen simple de générer un compte de super-utilisateur. Pour ce faire, exécutez le fichier + manage.py + afin de démarrer le processus de création du super-utilisateur:

python manage.py createsuperuser

Une fois que nous aurons fait cela, nous serons invités à fournir les détails de notre nom d’utilisateur, email et mot de passe. Dans ce tutoriel, nous allons créer un compte administrateur avec le nom d’utilisateur `, le courrier électronique ` et le mot de passe` ++ `. Vous devez renseigner ces informations avec vos propres préférences et vous assurer d’utiliser un mot de passe sécurisé dont vous vous souviendrez.

OutputUsername (leave blank to use 'root'):
Email address:

Puis entrez votre mot de passe deux fois lorsque vous voyez l’invite + Password: +. Vous ne verrez pas les frappes au clavier ou votre mot de passe lorsque vous le saisirez. 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 «» et le mot de passe «».

Connectez-vous et jetez un coup d’œil à ce qui existe sur notre page d’administrateur. + Si nécessaire, accédez à nouveau à l’URL + http: //: 8000 / admin / + pour accéder à la page de connexion de l’administrateur. Ensuite, connectez-vous avec le nom d’utilisateur, le mot de passe et le mot de passe que vous venez de créer.

Une fois la connexion établie, la page suivante s’affiche.

image: https: //assets.digitalocean.com/articles/eng_python/django/django-admin-panel.png [Panneau d’administration Django]

Ensuite, nous devrons travailler sur la connexion de notre application de blog au panneau d’administration.

À l’étape précédente, nous avons ouvert une session avec succès sur l’interface d’administration, mais vous avez peut-être remarqué que notre application de blog n’y est toujours pas visible. Alors maintenant, nous devons changer cela en ajoutant et en enregistrant votre application de blog avec les modèles associés + Posts et` + Comments`.

Pour ce faire, nous allons créer un fichier vide nommé + urls.py +, dans le répertoire + blogsite +, comme suit:

touch ~/my_blog_app/blog/blogsite/urls.py

Dans ce fichier, nous allons ajouter le modèle d’URL pour notre application de blog afin de pouvoir y accéder via l’interface d’administration.

Naviguez jusqu’à 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.

urls.py

from django.urls import path
from . import views
urlpatterns = [
   path('$/', views.posts, name='posts'),
   path('$/', views.comments, name='comments'),
]

Ce sont les expressions de modèle d’URL nécessaires pour permettre à votre application d’accéder aux + vues pour` `et` . Nous n’avons pas encore créé ces `+ vues + mais nous en parlerons plus tard dans la série.

Étape 5 - Connecter l’application de blog à l’administrateur

Connecter notre blog à l’administrateur nous permettra de voir les liens pour les + messages + et + commentaires + à l’intérieur du tableau de bord de l’administrateur. Comme nous l’avons déjà vu, le tableau de bord n’affiche pour l’instant que des liens pour + Groupes et` + Utilisateur N`.

Pour ce faire, nous devons enregistrer vos modèles + Posts et` + Comments On` dans le fichier d’administration de + blogsite.

Accédez au répertoire + blogsite +:

cd ~/my_blog_app/blog/blogsite

Ensuite, créez le fichier + admin.py +:

touch admin.py

Une fois cela fait, ouvrez le fichier:

nano admin.py

Et éditez le fichier pour qu’il contienne le code suivant.

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)

Enregistrez et quittez le fichier.

Vous avez maintenant enregistré les modèles + Post et` + Comment` dans le panneau d’administration. Cela permettra à l’interface d’administration de sélectionner ces modèles et de l’afficher à l’utilisateur connecté et de consulter le tableau de bord de l’administrateur.

Étape 6 - Vérifiez que l’application de blog a bien été ajoutée à l’administrateur

Maintenant que vous avez ajouté le code Python approprié, exécutez le serveur. Ouvrez + http: //: 8000 / admin + et connectez-vous à l’administrateur à l’aide de vos informations de connexion, si vous n’êtes pas déjà connecté. Dans ce tutoriel, nous nous sommes connectés avec le nom d’utilisateur ` et le mot de passe `.

Maintenant que vous êtes connecté, vous devriez voir la page Web suivante lorsque vous exécutez le serveur.

image: https: //assets.digitalocean.com/articles/eng_python/django/django-admin-models-added.png [Panneau d’administration Django avec modèles ajoutés]

Cela montre que nous avons maintenant connecté notre application, + blogsite +, au tableau de bord de l’administrateur Django.

Lorsque vous avez terminé de tester votre application, vous pouvez appuyer sur les touches + CTRL + + + + + + pour arrêter la commande + runserver + `. 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

La désactivation de votre environnement de programmation vous ramènera à l’invite de commande du terminal.

Conclusion

Dans ce tutoriel, vous avez activé l’interface d’administration, créé un identifiant d’administrateur et enregistré les modèles + Post + et + Comment + avec l’administrateur.

L’interface d’administration de Django vous permet de créer des publications et de surveiller les commentaires avec votre blog.

À venir dans la série, nous allons créer le + vues + pour l’application de blog.

Related