Django [PDF]

  • 0 0 0
  • Gefällt Ihnen dieses papier und der download? Sie können Ihre eigene PDF-Datei in wenigen Minuten kostenlos online veröffentlichen! Anmelden
Datei wird geladen, bitte warten...
Zitiervorschau

Introduction à Django Gestion de projets Django

Programmation Python Framework Django : installation & configuration

Dr. Hamidou Kassogué Technolab - ISTA Année universitaire 2018-2019

1/26

Dr. H. Kassogué

Python : Django : Installation & configuration

2/26

Introduction à Django Gestion de projets Django

Ce qu’est Django Installation et configuration de Django

Sommaire

1

Introduction à Django Ce qu’est Django Installation et configuration de Django

2

Gestion de projets Django

Dr. H. Kassogué

Python : Django : Installation & configuration

3/26

Introduction à Django Gestion de projets Django

Ce qu’est Django Installation et configuration de Django

Django un framework Python destiné au Web

Figure – Logo de Django

Créé en 2003 par Adrian Holovaty et Simon Willison Nommé Django en souvenir de Django Reinhardt (1910 à 1953) considéré comme le meilleur guitariste manouche de tous les temps Publié au grand public en 2005 Aujourd’hui utilisé par de grandes firmes (NASA, Instagram, Pinterest, ...) Dr. H. Kassogué

Python : Django : Installation & configuration

4/26

Introduction à Django Gestion de projets Django

Ce qu’est Django Installation et configuration de Django

Le principe de fonctionnement de Django Rappel de l’architecture MVC (Modèle - Vue - Contrôleur)

Figure – Architecture MVC Dr. H. Kassogué

Python : Django : Installation & configuration

5/26

Introduction à Django Gestion de projets Django

Ce qu’est Django Installation et configuration de Django

Le principe de fonctionnement de Django La magie Django avec l’architecture MVT (Modèle - Vue - Template)

Figure – Architecture MVT

Dr. H. Kassogué

Python : Django : Installation & configuration

Introduction à Django Gestion de projets Django

Ce qu’est Django Installation et configuration de Django

Le principe de fonctionnement de Django

Avec l’approche MVT, le développeur gère quatre parties essentielles : 1 Le routage des requêtes, en fonction de l’URL ; 2 Les modèles pour la représentation des données dans l’application, avec leur gestion (ajout, édition, suppression. . . ) ; 3 Les templates pour l’affichage de ces données et de toute autre information au format HTML ; 4 Les vues pour récupérer les données et générer le template selon celles-ci. On verra tout ça en détails une fois Django opérationnel.

6/26

Dr. H. Kassogué

Python : Django : Installation & configuration

7/26

Introduction à Django Gestion de projets Django

Ce qu’est Django Installation et configuration de Django

Le principe de fonctionnement de Django

En plus du MVT, Django requiert le développement d’un site sous forme de projet : Un site est un projet composé de plusieurs applications ; Chaque application est une composante du modèle MVT constitués de plusieurs fichiers (ses vues, ses modèles, ses schémas d’URL) ; Avantages : Le code est beaucoup plus structuré (séparation nette entre applications) ; Application correcte réutilisable dans un autre projet par simple copier/coller.

Dr. H. Kassogué

Python : Django : Installation & configuration

8/26

Introduction à Django Gestion de projets Django

Ce qu’est Django Installation et configuration de Django

Note de versions de Python et Django

NB : disposer d’une version Python supérieur ou égale à la 3.4. Depuis sa version 2.0, Django n’est plus compatible avec Python 2. Les instructions d’installation et configurations qui suivent sont pour : Python 3.4 et versions supérieurs Django 2.2.2

Dr. H. Kassogué

Python : Django : Installation & configuration

9/26

Introduction à Django Gestion de projets Django

Ce qu’est Django Installation et configuration de Django

Installation (sur Linux et Mac) Exécuter dans le terminal la commande pip install Django==2.2.2 ou (si une version antérieur de Python est aussi installée) python3 -m pip install Django==2.2.2 Certaines versions requièrent py -m pip install Django==2.2.2 Remarque : Si pip n’est pas reconnu comme commande (c-à-d pas installé sur Python), il faut l’installer via l’exécution des deux lignes de commandes suivantes : curl https ://bootstrap.pypa.io/get-pip.py -o get-pip.py python get-pip.py Dr. H. Kassogué

Python : Django : Installation & configuration

Introduction à Django Gestion de projets Django

Ce qu’est Django Installation et configuration de Django

Installation (sur Windows)

10/26

1

Télécharger la dernière version (2.2.2 en cette date) sur https://www.djangoproject.com/download/ ;

2

Aller dans informations générales du système (Raccourcis Windows + Pause) ;

3

Cliquez sur Paramètres système avancés (menu de gauche) ;

4

Cliquez sur Variables d’environnement ;

5

Ajouter à la variable système Path, la valeur de variable suivante : ;C:\PythonXX\;C:\PythonXX\Lib\site-packages\django\bin\ XX sont les premiers chiffres de la version de Python (exemple 36 pour Python 3.6.1).

6

Valider et quittez puis exécuter en cmd les deux commandes cd C:\Users\\\django2.2.2 python setup.py install si une version antérieur de Python est aussi installée, utiliser pythonX -m ou py -m. Dr. H. Kassogué

Python : Django : Installation & configuration

Introduction à Django Gestion de projets Django

Ce qu’est Django Installation et configuration de Django

Vérification de l’installation

11/26

1 2

Lancer l’interpréteur Python Exécuter les deux commandes : >>> import django django.get_version() Si on obtient 2.2.2 (version en date d’aujourd’hui) comme réponse, l’installation a réussi.

NB : Django passe à la dernière version via la commande : pip install Django --upgrade Si pip n’est pas reconnu comme commande, il n’est pas encore installé sur votre Python. Il faut l’installer via l’exécution des deux lignes de commandes suivantes : curl https ://bootstrap.pypa.io/get-pip.py -o get-pip.py python get-pip.py Dr. H. Kassogué

Python : Django : Installation & configuration

Introduction à Django Gestion de projets Django

Création d’un projet Lancement du projet et configuration du projet Création d’une application pour le projet

Sommaire

12/26

1

Introduction à Django

2

Gestion de projets Django Création d’un projet Lancement du projet et configuration du projet Création d’une application pour le projet

Dr. H. Kassogué

Python : Django : Installation & configuration

Introduction à Django Gestion de projets Django

Création d’un projet Lancement du projet et configuration du projet Création d’une application pour le projet

Gestion de projet par Django

Django offre un outil en ligne de commandes qui permet de : Créer des projets et applications ; Créer des tables dans la base de données associées ; Lancer le serveur web de développement ; Maintenir le site après déploiement ; ... NB : Il faut bien différencier la console système (pour l’exécution des commandes systèmes) de l’interpréteur Python (pour écrire et exécuter du code Python).

13/26

Dr. H. Kassogué

Python : Django : Installation & configuration

Introduction à Django Gestion de projets Django

Création d’un projet Lancement du projet et configuration du projet Création d’une application pour le projet

Initialisation du projet

14/26

Ouvrir le terminal (ou invite de commande) 1 Accéder au dossier où sera initialisé le projet (il peut en contenir plusieur). Exemple, avec le dossier ProjetsDjango à l’emplacement path : cd path\ProjetsDjango 2

Initialiser un projet avec son nom via : django-admin startproject nomDuProjet

Dr. H. Kassogué

Python : Django : Installation & configuration

Introduction à Django Gestion de projets Django

Création d’un projet Lancement du projet et configuration du projet Création d’une application pour le projet

Initialisation du projet

15/26

Pour le projet pariDouman, il en résulte un dossier pariDouman structuré comme suit :

Le fichier manage.py est un raccourci local pour la commande django-admin permettant de configurer le projet. Le dossier pariDouman du même nom que le projet contient quatre fichiers : __init__.py qui indique à Python qu’il s’agit d’un module (n’y toucher pas), settings.py est un fichier qui contient les paramètres de configuration du projet, urls.py est u fichier qui contiendra les routages d’urls pour le projet, wsgi.py qui est un fichier de configuration propre à Django (n’y toucher pas aussi). Dr. H. Kassogué

Python : Django : Installation & configuration

Introduction à Django Gestion de projets Django

Création d’un projet Lancement du projet et configuration du projet Création d’une application pour le projet

Lancement du projet

16/26

Dans le terminal (en étant toujours à la racine du projet) Lancer le serveur de développement python manage.py runserver Accéder au site via l’adresse http://localhost:8000

Dr. H. Kassogué

Python : Django : Installation & configuration

Introduction à Django Gestion de projets Django

Création d’un projet Lancement du projet et configuration du projet Création d’une application pour le projet

Configuration de quelques paramètres de settings.py

17/26

BASE_DIR : définie par défaut est une variable utilisée pour référencer vers les fichiers du projet (css, javascript, base de données, ...) ; DEBUG : variable permettant d’indiquer si le site est en mode "debug" ou pas ; DATABASES : variable déjà remplie pour gérer une BD SQLite ; Pour une BD MySQL, se sera : DATABASES = { ’default’: { ’ENGINE’: ’django.db.backends.mysql’, ’NAME’: ’NomDeLaBD’, ’USER’: ’’, ’PASSWORD’: ’’, ’HOST’: ’127.0.0.1’, ’PORT’: ’3306’, } } Dr. H. Kassogué

Python : Django : Installation & configuration

Introduction à Django Gestion de projets Django

Création d’un projet Lancement du projet et configuration du projet Création d’une application pour le projet

Configuration de quelques paramètres de settings.py

18/26

LANGUAGE_CODE = ’fr-FR’ : variable pour la langue de développement du site ; TIME_ZONE = ’UTC’ : variable pour le fuseau horaire (le cas en Afrique de l’ouet) ; USE_I18N=True, USE_L10N=True et USE_TZ=True : variables pour assurer la traduction automatique du site ;

Dr. H. Kassogué

Python : Django : Installation & configuration

Introduction à Django Gestion de projets Django

Création d’un projet Lancement du projet et configuration du projet Création d’une application pour le projet

Création d’une application pour le projet

19/26

Lancer depuis le terminal (en étant à la racine du projet) : python manage.py startapp nomDeApplication Pour notre première application pari, il en résulte un sous dossier structuré comme suit :

Dr. H. Kassogué

Python : Django : Installation & configuration

Introduction à Django Gestion de projets Django

Création d’un projet Lancement du projet et configuration du projet Création d’une application pour le projet

Création d’une application pour le projet

20/26

Détails du contenu du dossier du projet : admin.py permet de définir les modèles à afficher et modifier via l’interface administration générée automatiquement par Django ; apps.py permet de configurer certaines propriétés de l’application ; models.py permet de définir les modèles de l’application ; test.py permet la création de tests unitaires ; views.py contient toutes les vues de l’application ; migrations est un dossier permettant de retracer l’évolution des modèles d’appliquer les modifications à la base de données associée.

Dr. H. Kassogué

Python : Django : Installation & configuration

Introduction à Django Gestion de projets Django

Création d’un projet Lancement du projet et configuration du projet Création d’une application pour le projet

Création d’une application pour le projet

21/26

Dans la variable INSTALLED_APPS de settings.py ajouter le nom de l’application. Il y a déjà des applications installées par défaut. Avec l’application pari, son contenu sera : INSTALLED_APPS = [ ’django.contrib.admin’, ’django.contrib.auth’, ’django.contrib.contenttypes’, ’django.contrib.sessions’, ’django.contrib.messages’, ’django.contrib.staticfiles’, ’pari’, ] Dr. H. Kassogué

Python : Django : Installation & configuration

Introduction à Django Gestion de projets Django

Création d’un projet Lancement du projet et configuration du projet Création d’une application pour le projet

Ajoutons une vue minimale à l’application pari (création de accueil) Toute vue prend en paramètre une requête de type request et retourne une page de type HttpResponse. Un routage est fait pour y accéder. Dans pari/views.py, ajoutons une vue qui retourne au client la page d’accueil : from django.shortcuts import render from django.http import HttpResponse def accueil(request): return HttpResponse(""" Bienvenue sur Pari Douman !

Créez un compte, connectez−vous et découvrez les paris ouverts et/ou en créer.

""")

22/26

Dr. H. Kassogué

Python : Django : Installation & configuration

Introduction à Django Gestion de projets Django

Création d’un projet Lancement du projet et configuration du projet Création d’une application pour le projet

Ajoutons une vue minimale à l’application pari (url vers accueil) Dans pariDouman/urls.py (à la racine du projet), ajoutons une url qui permet d’accéder à la vue accueil : 1 2 3

from django.contrib import admin from django.urls import path from pari import views

4 5 6 7 8

23/26

urlpatterns = [ path(’admin/’, admin.site.urls), path(’accueil’, views.accueil), ]

Ici, les lignes 3 et 7 sont ajoutées. Django retournera au client la vue accueil s’il envoie la requête HTTP http://www.pariDouman.com/accueil (en mode production). Dr. H. Kassogué

Python : Django : Installation & configuration

Introduction à Django Gestion de projets Django

Création d’un projet Lancement du projet et configuration du projet Création d’une application pour le projet

Ajoutons une vue minimale à l’application pari (rendu de accueil)

24/26

Le lancement du serveur via python manage.py runserver

donne la page suivante avec l’url (en mode développement) http://localhost:8000/accueil :

Dr. H. Kassogué

Python : Django : Installation & configuration

Introduction à Django Gestion de projets Django

Création d’un projet Lancement du projet et configuration du projet Création d’une application pour le projet

Références

Une documentation complète sur https://docs.djangoproject.com/ ; Des portions de code réutilisables (snippets) disponibles sur https://djangosnippets.org/ ; Des applications (packages) prêtes à utilisées disponibles sur DjangoPackages.

25/26

Dr. H. Kassogué

Python : Django : Installation & configuration

26/26

Introduction à Django Gestion de projets Django

Dr. H. Kassogué

Création d’un projet Lancement du projet et configuration du projet Création d’une application pour le projet

Python : Django : Installation & configuration