DY

01 Premier projet Django

Ce TP est votre premier pas dans l'univers de Django. Grâce à ce premier projet Django va vous permettre de comprendre la structure et comment bien débuter avec le framework.

Un projet Django ?

Un projet Django est l'entité de base qui représente une instance du framework et regroupe un ensemble de configurations et d'applications.

Attention ! Ne confondez pas projet et application. Le projet est une coquille quasi vide qui permet d'utiliser des applications (créez par vous-même ou par d'autres). Les applications Django peuvent être utilisées dans différents projets. On ne peut pas utiliser une application sans projet.

Par exemple une application forum peut être utilisé dans différents projets.

Installation et création du projet

L'installation de Django se fait généralement très rapidement, et ne présente pas grande difficulté. Assurez-vous néanmoins de suivre les étapes suivantes.

Avez-vous installé Python ?

Assurez vous d'avoir installé Python et que ce dernier fonctionne correctement.

Installation de Django avec pip

La méthode conseillée pour installer Django consiste à utliser l'outil pip dont la vocation est d'installer des packages Python.

Vérification de l'installation de Django

Pour vérifier que votre installation a bien fonctionné, ouvrez un terminal, lancez Python et essayez d'importer le module django :

import django

django.VERSION

Présentation du projet

Notre premier projet Django consistera en la conception et le développement d'un site web de review de jeu vidéo. Cette page est en quelque sorte notre cahier des charges "simplifié".

Bien entendu comme il s'agit d'un projet pédagogique et que nous allons le réaliser en quelques heures.

Création du projet GamesPlus

Django est livré avec une CLI utilitaire bien pratique qui vous permettra de créer automatiquement l'arborescence de votre projet. Cette commande (qui est en réalité un script Python) se nomme django-admin et s'utilise de la sorte: django-admin startproject my_project. Nous allons donc taper la commande suivante:

$ django-admin startproject games_plus

C'est fait, notre projet est créé ! En d'autres termes, un répertoire games_plus a été créé et il contient quelques fichiers utiles au fonctionnement de notre projet. Voyons quel est son contenu:

games_plus
|--- manage.py
|--- games_plus
|    |--- __init__.py
|    |--- settings.py
|    |--- urls.py
|    |--- wsgi.py

Notre répertoire games_plus/games_plus contient un fichier __init__.py. Ce fichier est vide et permet d'indiquer à Python qu'un répertoire contenant des fichiers .py est un module Python.

Vérification de notre projet via le serveur de développement

Maintenant que notre projet est créé, nous allons lancer le serveur de développement de Django afin de nous assuré que tout fonctionne correctement.

Placez vous dans le répertoire du projet puis tapez la commande suivante:

$ python manage.py runserver

Django devrait afficher quelque chose équivalent à cela:

Performing system checks...
System check identified no issues (0 silenced).
February 27, 2017 - 09:43:39
Django version 1.10.3, using settings 'games_plus.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CONTROL-C.

Parfait notre serveur est lancé, nous pouvons maintenant visiter l'URL: 127.0.0.1:8000 pour voir ce qui s'y passe !

Vous devriez donc voir ceci:

Conclusion

Mission accomplie, nous avons créé notre premier projet Django, et il est à présent opérationnel : le serveur se lance sans erreur, et il répond aux requêtes.

Certes, son utilité reste limitée en l'état ..

Nous allons donc maintenant voir comment y ajouter quelques éléments intéressants : - créer des modèles, - paramétrer notre contrôleur frontal - et faire un peu de scaffolding pour remplir notre base de données !