Premier projet Django

Cette section est votre véritable premier saut dans l'univers de Django : ce premier projet Django va vous permette de comprendre comment démarrer avec le framework, et quelle est la structure d'un projet Django.

Qu'est-ce qu'un projet Django ?

En Django, le projet 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 (presque) vide, qui permet d'utiliser concrètement des applications (que vous créez vous-même ou que d'autres ont créées et mises à disposition). Les applications Django peuvent être utilisées dans différents projets. On ne peut pas utiliser une application sans projet.

Pour bien comprendre le principe, imaginez une application de forum sur Internet. Vous pouvez utiliser votre application forum dans un projet « Mon premier site », ainsi que dans d'autres projets (« Mon autre site », par exemple).

Voici quelques exemples d'applications Django :

  • Haystack, une applciation permettant d'implémenter un moteur de recherche dans un projet Django
  • Tastypie, application permettant la création d'API
  • django-crispy-forms, application permettant de générer facilement des formulaires avancés

Écosystème d'un projet Django

Voici une vue schématique de l'écosystème d'un projet Django :

Projet et application Django
Écosystème d'un projet Django : projet, applications…

Installation et création du projet…

OK, vous savez à présent ce qu'est un projet Django !

Voici maintenant le programme :

  1. Installation de Django – Cette page comporte les informations nécessaires pour installer Django sur votre machine de développement.
  2. Présentation du projet – Notre premier projet Django consistera en la conception et le développement d'un système de gestion de projet Scrum (méthode agile dédiée à la gestion de projets, particulièrement adaptée aux projets informatiques). Cette page est en quelque sorte notre cahier des charges « simplifié ».
  3. Création du projet – Vous apprendrez sur cette page à créer un projet Django, pas à pas. Ce projet nous servira de fil conducteur durant tout notre apprentissage du framework. Notre projet : un système simple de gestion de projet Scrum : backlog, équipe, sprints….
  4. Création d'une application – Nous allons maintenant créer une première application Django, au sein de notre projet. Cette application métier nommée django-chistera (la passe dans le dos en rugby !) sera le cœur de notre projet, et gérera l'ensemble des problématiques liées à la gestion d'un projet Scrum.
  5. Ajout des modèles – Cette page vous apprendra à créer des modèles pour une application Django. Avant de commencer, assurez-vous de connaître MVC et de savoir ce qu'est un modèle…

Testez vos connaissances

En Django, quelle est la différence entre un projet et une application ?
  • Un projet est composé d'applications.
  • Un projet agrège différentes applications.
  • Une application est composée de projets.
  • Une application peut être utilisée dans différents projets.
  • Les notions de projet et d'application recouvrent une réalité similaire.
  • Une application Django est un programme client lourd distribué sous la forme d'un package autonome.
Quand est-il judicieux de créer une application Django ?
  • Le matin au réveil.
  • Dès que l'on a identifié un ensemble cohérent de classes métier et de fonctionnalités qui peuvent être regroupés.
  • Quand un projet devient trop gros.
  • Quand on sait que le code que l'on doit écrire sera réutilisés dans différents contextes (différents projets).
  • Quand on a besoin de disposer d'un contrôleur frontal.

N'attendez pas que votre projet devienne important pour créer de nouvelles applications. Le fait de séparer les fonctionnalités en applications permet une grande modularité et une meilleure réutilisabilité du code : dès que vous avez l'impression de coder un ensemble de classes qui pourraient être réutilisées dans un autre projet, créez une application.

Où doit-on créer les modèles d'un projet Django ?
  • Dans le répertoire models.
  • Il faut d'abord créer une application : les éléments MVC se déclarent dans les applications.
  • À la racine du projet.
  • Dans le répertoire /etc/init.d/.