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
Introduction à Django Ce qu’est Django
Gestion de projets Django Installation et configuration de Django
Sommaire
1 Introduction à Django
Ce qu’est Django
Installation et configuration de Django
2 Gestion de projets Django
2/26 Dr. H. Kassogué Python : Django : Installation & configuration
Introduction à Django Ce qu’est Django
Gestion de projets 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, ...)
3/26 Dr. H. Kassogué Python : Django : Installation & configuration
Introduction à Django Ce qu’est Django
Gestion de projets 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
4/26 Dr. H. Kassogué Python : Django : Installation & configuration
Introduction à Django Ce qu’est Django
Gestion de projets 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
5/26 Dr. H. Kassogué Python : Django : Installation & configuration
Introduction à Django Ce qu’est Django
Gestion de projets 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
Introduction à Django Ce qu’est Django
Gestion de projets 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 plu-
sieurs 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.
7/26 Dr. H. Kassogué Python : Django : Installation & configuration
Introduction à Django Ce qu’est Django
Gestion de projets 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
8/26 Dr. H. Kassogué Python : Django : Installation & configuration
Introduction à Django Ce qu’est Django
Gestion de projets 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
9/26 Dr. H. Kassogué Python : Django : Installation & configuration
Introduction à Django Ce qu’est Django
Gestion de projets Django Installation et configuration de Django
Installation (sur Windows)
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\<nom_d’utilisateur>\<Dossiers>\django2.2.2
python setup.py install
si une version antérieur de Python est aussi installée, utiliser pythonX -m ou
py -m.
10/26 Dr. H. Kassogué Python : Django : Installation & configuration
Introduction à Django Ce qu’est Django
Gestion de projets Django Installation et configuration de Django
Vérification de l’installation
1 Lancer l’interpréteur Python
2 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
11/26 Dr. H. Kassogué Python : Django : Installation & configuration
Création d’un projet
Introduction à Django
Lancement du projet et configuration du projet
Gestion de projets Django
Création d’une application pour le projet
Sommaire
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
12/26 Dr. H. Kassogué Python : Django : Installation & configuration
Création d’un projet
Introduction à Django
Lancement du projet et configuration du projet
Gestion de projets Django
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
Création d’un projet
Introduction à Django
Lancement du projet et configuration du projet
Gestion de projets Django
Création d’une application pour le projet
Initialisation du projet
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
14/26 Dr. H. Kassogué Python : Django : Installation & configuration
Création d’un projet
Introduction à Django
Lancement du projet et configuration du projet
Gestion de projets Django
Création d’une application pour le projet
Initialisation du projet
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).
15/26 Dr. H. Kassogué Python : Django : Installation & configuration
Création d’un projet
Introduction à Django
Lancement du projet et configuration du projet
Gestion de projets Django
Création d’une application pour le projet
Lancement du projet
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
16/26 Dr. H. Kassogué Python : Django : Installation & configuration
Création d’un projet
Introduction à Django
Lancement du projet et configuration du projet
Gestion de projets Django
Création d’une application pour le projet
Configuration de quelques paramètres de settings.py
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’: ’<nom d\’utilisateur>’,
’PASSWORD’: ’<mot de passe MySQL>’,
’HOST’: ’127.0.0.1’,
’PORT’: ’3306’,
}
}
17/26 Dr. H. Kassogué Python : Django : Installation & configuration
Création d’un projet
Introduction à Django
Lancement du projet et configuration du projet
Gestion de projets Django
Création d’une application pour le projet
Configuration de quelques paramètres de settings.py
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 ;
18/26 Dr. H. Kassogué Python : Django : Installation & configuration
Création d’un projet
Introduction à Django
Lancement du projet et configuration du projet
Gestion de projets Django
Création d’une application pour le projet
Création d’une application pour le projet
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 :
19/26 Dr. H. Kassogué Python : Django : Installation & configuration
Création d’un projet
Introduction à Django
Lancement du projet et configuration du projet
Gestion de projets Django
Création d’une application pour le projet
Création d’une application pour le projet
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.
20/26 Dr. H. Kassogué Python : Django : Installation & configuration
Création d’un projet
Introduction à Django
Lancement du projet et configuration du projet
Gestion de projets Django
Création d’une application pour le projet
Création d’une application pour le projet
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’,
]
21/26 Dr. H. Kassogué Python : Django : Installation & configuration
Création d’un projet
Introduction à Django
Lancement du projet et configuration du projet
Gestion de projets Django
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("""
<h1>Bienvenue sur Pari Douman !</h1>
<p> Créez un compte, connectez−vous
et découvrez les paris ouverts et/ou en créer.</p>
""")
22/26 Dr. H. Kassogué Python : Django : Installation & configuration
Création d’un projet
Introduction à Django
Lancement du projet et configuration du projet
Gestion de projets Django
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 from django.contrib import admin
2 from django.urls import path
3 from pari import views
4
5 urlpatterns = [
6 path(’admin/’, admin.site.urls),
7 path(’accueil’, views.accueil),
8 ]
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).
23/26 Dr. H. Kassogué Python : Django : Installation & configuration
Création d’un projet
Introduction à Django
Lancement du projet et configuration du projet
Gestion de projets Django
Création d’une application pour le projet
Ajoutons une vue minimale à l’application pari (rendu de accueil)
Le lancement du serveur via
python manage.py runserver
donne la page suivante avec l’url (en mode développement)
http://localhost:8000/accueil :
24/26 Dr. H. Kassogué Python : Django : Installation & configuration
Création d’un projet
Introduction à Django
Lancement du projet et configuration du projet
Gestion de projets Django
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
Création d’un projet
Introduction à Django
Lancement du projet et configuration du projet
Gestion de projets Django
Création d’une application pour le projet
26/26 Dr. H. Kassogué Python : Django : Installation & configuration