Blog ENI : Toute la veille numérique !
Jusqu'à ce soir ! : -25€ dès 75€ sur les livres en ligne, vidéos... code FUSEE25. J'en profite !
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez la Bibliothèque Numérique ENI. Cliquez ici
  1. Livres et vidéos
  2. Django
  3. Pour débuter
Extrait - Django Industrialisez vos développements Python
Extraits du livre
Django Industrialisez vos développements Python Revenir à la page d'achat du livre

Pour débuter

Introduction

Avant que nous ne commencions à nous plonger dans le détail du fonctionnement de toutes les parties de Django, essayons de prendre de la hauteur et de fournir une vue d’ensemble de Django. Vue d’ensemble qui permettra au lecteur de comprendre les enjeux de telle ou telle partie du livre pour être guidé dans son apprentissage, approfondir tel ou tel point et savoir à quoi correspond telle ou telle partie du framework.

La courbe d’apprentissage de Django, à défaut d’être nécessairement la plus rapide, n’est pas plus insurmontable que celle des systèmes comparables. En tout cas, elle présente un énorme avantage, c’est sa très grande progressivité. Pour faire simple, disons que vous pourrez commencer à programmer à la fin de ce chapitre ! Dire que pour autant vous serez devenu un expert Django est un pas que je ne franchirais pas, mais la connaissance des notions élémentaires de Django que nous allons voir ici suffit pour démarrer !

C’est en cela que Django est agréable car la pente est douce et même si le chemin peut être long pour un programmeur qui souhaiterait maîtriser parfaitement tous les aspects du framework, les efforts à faire pour avancer à chaque étape sont raisonnables.

Normalement vous pourrez commencer à travailler...

Principes de base, fondamentaux et vue d’ensemble

Pour simplifier à l’extrême, les principaux modules de Django sont les suivants :

  • Les modèles,

  • Les vues,

  • Les templates.

images/03RI01.png

Les modèles définissent les objets manipulés par l’application et possèdent une API permettant d’accéder et de manipuler la base de données en Python grâce à l’ORM de Django.

Le routage des URL connecte les URL externes à des points d’entrée dans le code : les vues.

Les vues organisent les traitements, manipulent les modèles et renvoient des données.

Les templates organisent la présentation des données renvoyées par les vues et respectent le principe S.O.C en séparant la présentation des traitements.

Ainsi, nous avons les modèles, les vues et les templates. En y ajoutant les formulaires, cela suffirait pour pouvoir commencer à travailler. Le reste sera une affaire d’optimisation, de curiosité et donc de temps et d’apprentissage.

Si l’on veut présenter un schéma plus complet, Django ressemblerait davantage à cela :

images/03RI02.png

On a ajouté au schéma précédent les éléments suivants :

  • Un middleware comme par exemple le middleware de cache.

  • Un gestionnaire de formulaires (Django forms).

  • Le puissant et populaire système d’administration...

Installer Django et démarrer en cinq minutes

Avant de pouvoir commencer à utiliser Django, comme nous allons le faire au chapitre suivant, il faut l’installer.

D’abord il vous faut installer Python, Django étant un framework Python. Les versions compatibles sont les versions 2.7, 3.2, 3.3 ou 3.4. Comme Python inclut la base de données SQLite, n’installez pas de base de données pour le moment car cela peut être complexe, comme par exemple faire dialoguer MySQL et Python sur Mac.

Si vous souhaitez impérativement installer une base de données, référez-vous à la section spécifique traitant de ce point (section Premiers pas (démarrage pas à pas) de ce chapitre).

Pour installer Python, utilisez la version de Python qui est peut-être déjà installée sur votre système si elle est compatible. Utilisez un gestionnaire de packages si votre système le permet (Linux), sinon téléchargez une version de Python compatible sur le site officiel de Python à l’adresse http://www.python.org/download/ et installez-la en suivant les instructions spécifiques à votre plateforme.

Pour vérifier si Python est déjà installé sur votre système, essayez de le lancer, vous devriez obtenir quelque chose ressemblant à cela :


$ python  
ActivePython 2.7.6.9 (ActiveState Software Inc.) based on  
Python 2.7.6 (default, Feb 27 2014, 14:06:06)  
[GCC 4.2.1 (Apple Inc. build 5664)] on Darwin  
Type "help", "copyright", "credits" or "license" for more 
information.  
>>>  
 

Il est possible d’utiliser Django avec Jython, l’implémentation Java de Python, mais vous allez devoir suivre un certain nombre d’étapes spécifiques que vous trouverez ici : https://docs.djangoproject.com/en/dev/howto/jython/...

Premiers pas (démarrage pas à pas)

Dans cette partie, nous allons créer une application simple mais totalement fonctionnelle. Elle permettra de présenter les deux aspects du développement Django : l’application web proprement dite et l’interface d’administration (le back office).

L’application que nous allons écrire est une gestion basique de commentaires et d’articles de blog.

Commençons par vérifier que vous avez installé la dernière version de Django.

Lancez Python :


>>> import django  
>>> django.get_version()  
'1.6.x' 
 

Vérifiez que vous avez installé la version 1.6.

1. Créer votre premier projet

Nous allons commencer par créer un projet. Nous allons, pour cette première fois, utiliser Django pour créer l’ossature par défaut d’un projet ainsi que les fichiers de configuration par défaut.

Positionnez-vous dans le répertoire dans lequel vous souhaitez installer vos projets Django ; par exemple sous Mac/Unix/Linux :


 cd ~/votre-nom/test-django/ 
 

ou sous Windows :


 cd c:\users\votre-nom\test-django\ 
 

puis tapez la commande suivante :


django-admin.py startproject monprojet
 

Attention, comme dans n’importe quel projet Python, votre nom de projet ne doit bien sûr pas correspondre au nom d’un composant existant des librairies Python ou Django.

Maintenant, listez les fichiers que vous venez de créer à l’aide de la commande précédente, vous devriez obtenir ceci :

images/03RI03.png

Si vous n’obtenez pas cela, c’est que vous n’utilisez pas la version 1.6 de Django, la plupart de ce qui suit reste vrai cependant, à quelques détails près. Installez de préférence la version 1.6, qui est la version utilisée dans ce chapitre.

À quoi correspondent ces fichiers ?

Le répertoire racine monprojet/ contient l’ensemble de votre projet. Son nom n’a pas d’importance particulière pour Django, vous pouvez le déplacer ou le renommer à votre convenance.

Le fichier manage.py est un utilitaire sous la forme d’une commande Python. Il va vous permettre de gérer votre projet Django (configuration, gestion de la base, etc.). Nous donnerons les principaux détails de cette commande au fur et à mesure...