[Plan du site]
Vous êtes ici ---
> Le Site du Zéro
> Les tutoriels
> Non-Officiels
> Programmation
> Python
> Django de zéro : vos projets Python sur le Web ! > Débutons avec Django > Installer Django et mettre en place un projet
> Lecture du tutoriel
Installer Django et mettre en place un projet
Vous vous apprêtez à lire un tutoriel rédigé par un membre de ce site. Malgré tout le soin que ce membre a pu apporter au tutoriel, nous ne pouvons pas garantir que les informations contenues sur cette page sont exactes à 100%. Merci de garder cela en tête lorsque vous lirez cette page ;o)
C'est ici que les choses sérieuses commencent, nous allons commencer par télécharger et installer Django, puis parler des différentes versions disponibles. Après avoir installé Django, nous verrons ce qu'il nous faut à côté pour le faire fonctionner, un système de gestion de base de données par exemple.
Une fois notre espace de travail prêt, nous allons nous attaquer à la mise en place d'un projet Django et de sa configuration. J'aurai l'occasion de préciser cette notion de projet dans le chapitre, ne vous inquiétez pas.
Allez, bonne lecture et bon apprentissage !
Avant toute chose, je tiens à préciser que je n'aborderai que le cas de Linux. Le tutoriel se passera d'ailleurs sous ce système d'exploitation. Pour les autres, il faudra vous débrouiller tout seul. Je ne saurais d'ailleurs dire s'il existe quelque chose pour Windows et Mac OS X. Si des personnes ont des informations, une démarche à suivre, je suis bien évidemment preneur.
Il existe en gros deux versions Django : la version stable actuelle et la version de développement. Le tutoriel utilisera la version de développement,
la version SVN, qui est à l'heure où je vous parle très utilisable, ce n'est pas parce que c'est une version en développement qu'elle ne marche qu'à moitié. La version
stable actuelle de Django est la 0.96.
Je ne parlerai pas de l'installation de Python, pour ça, vous avez les tutoriels donnés dans le précédent chapitre.
Téléchargement et installation de Django SVN
La version de développement de Django est téléchargeable depuis
SVN, un logiciel permettant de gérer les versions et mises à jour facilement. Vous pouvez télécharger la version de développement à partir de la commande suivante dans la console :
Code : Console | svn co http://code.djangoproject.com/svn/django/trunk/ Django |
Ça se télécharge... Une fois que le téléchargement est terminé, rendez-vous dans le dossier
Django, logiquement dans votre dossier
/home/pseudonyme/, à partir de la commande suivante :
Code : Console
À partir de là, vous avez juste à lancer l'installation avec la commande ci-suit :
Code : Console
Téléchargement et installation de Django 0.96
Télécharger et installer Django sous Ubuntu depuis les paquets
Django est disponible dans les paquets Ubuntu et ce, dans sa dernière version, alors pourquoi s'en priver ! C'est une facilité d'installation que de le faire de cette manière. Le paquet porte le nom
python-django et s'installe soit à partir de votre gestionnaire de paquets graphique soit à partir de la commande suivante :
Code : Console | sudo apt-get install python-django |
Installation de Django à partir de l'archive
Commencez par vous rendre sur le site officiel du projet, et plus
précisément ici. De là, cliquez sur le lien
Django-0.96.X.tar.gz : le téléchargement de l'archive débute. Il va maintenant falloir décompresser l'archive, pour se faire deux méthodes, la graphique à partir de votre gestionnaire d'archives favori ou à partir de la commande suivante :
Code : Console | tar xzvf Django-0.96.X.tar.gz |
Ça se passe uniquement en console à présent, rendez-vous dans le dossier créé après décompression de l'archive grâce à la commande suivante :
Code : Console
Pour finir, il faut lancer l'installation, toujours dans la console, tapez la commande suivante :
Code : Console | sudo python setup.py install |
Vérifier l'installation de Django
Django est (normalement) installé sur votre machine ! Mais pour en avoir le coeur net, vous pouvez taper dans la console la commande ci-dessous, qui va essayer d'importer le module Django. Si rien de spécial n'est affiché quand vous tapez cette commande, c'est que c'est ok, dans le cas contraire, Django ne s'est pas installé, ou pas convenablement...
Code : Console | python -c 'import django' |
Un système de gestion de base de données
Comme annoncé dans l'introduction, Django stocke les données dans une base de données, il va donc falloir installer un système de gestion de base de données sur votre machine. Django supporte les principaux, c'est-à-dire : MySQL, PostgreSQL et SQLite. À partir de là, soit vous installez tout et vous ferez votre choix plus tard, soit vous en installez qu'un seul. Le tutoriel lui se fera sous MySQL qui est le plus répandu. Ci-dessous, la liste des paquets à installer sur votre machine pour faire fonctionner l'un de ces systèmes :
- MySQL : pour faire fonctionner MySQL, vous aurez besoin de MySQLdb. Le nom du paquet sous Ubuntu est python-mysqldb ;
- PostgreSQL : pour installer PostgreSQL, ça sera psycopg2 qu'il faudra installer. Le nom du paquet sous Ubuntu est python-psycopg2 ;
- SQLite : pour le cas de SQLite, installez pysqlite dans sa dernière version. Le nom du paquet sous Ubuntu est python-pysqlite2.
Avant de s'attaquer à la mise en place d'un projet Django, il serait bon de définir ce que c'est. Pour ce faire, rien de tel qu'un exemple. Prenons l'exemple d'un site internet que nous allons créer avec Django, le site est le projet. Ce projet est ensuite composé d'applications, par exemple : un système de news, un système de sondages, etc.
Un projet est la base, c'est à partir de ça que tout ce qu'il y a à côté va être mis en place. Un exemple avec un sac de pièces d'or : le sac est le projet et les pièces les applications.
Nous reviendrons sur les dites applications qui composent un projet en temps et en heure, dans le prochain chapitre.
Créer un projet Django
Il va nous falloir, pour créer un projet Django, trouver le fichier
django-admin.py. Il se trouve logiquement dans votre dossier
/usr/bin/. Si oui, c'est parfait, gardez le répertoire en tête, et passez à la suite. Si le dit fichier n'est pas dans ce répertoire, essayez
/usr/local/bin/. Si vous ne le trouvez toujours pas, brûlez votre ordinateur et ses composants, c'est qu'ils sont maudits.
Le fichier django-admin.py peut ne pas porter l'extension .py, dans ce cas, adaptez les codes ci-dessous en conséquent en enlevant juste l'extension.
Mettez-vous dans le dossier où vous voulez créer votre projet avec la console, par exemple, pour créer votre projet sur le bureau, il vous faudra taper la commande suivante pour aller sur le bureau avec la console :
Code : Console
Adaptez bien entendu suivant votre nom d'utilisateur. Je ne m'embêterai pour ma part pas avec le dossier, ça sera dans
/home/skaz/ directement, là où vous vous trouvez par défaut en ouvrant la console. Créons notre projet à présent, ça se fait facilement à partir du répertoire où l'on veut mettre notre projet avec la commande suivante :
Code : Console | /usr/bin/django-admin.py startproject monprojet |
Vous vous souvenez du dossier où est le fichier
django-admin.py je suppose, hé bien, adaptez le
/usr/bin/ en conséquent. Le
monprojet sera le nom donné au projet mais aussi le nom du dossier contenant le projet. J'utiliserai ce nom tout au long du tutoriel pour définir ce dossier, c'est plus pratique pour moi, après libre à vous de le nommer comme bon vous semble !
Si tout s'est bien passé, allez faire un tour dans le dossier où vous avez créé votre projet, et que voyez-vous ? Un dossier
monprojet ! Voilà, vous avez créé votre premier projet Django, du champagne pour fêter ça !
La structure d'un projet Django, découverte
Ouvrons à présent le dossier
monprojet pour regarder ce qu'il contient et voir à quoi sert ce qu'il contient :
- monprojet : le dossier de votre projet Django qui contiendra toutes les applications et les fichiers de configuration ;
- __init__.py : c'est le fichier qui dit à Python que le dossier monprojet doit être considéré comme un paquetage Python. Le fichier est vide et c'est normal, ne prenez pas peur !

- manage.py : c'est le fichier qui vous permettra d'interagir depuis la console avec votre projet : pour créer de nouvelles applications, mettre à jour la base de données, lancer le serveur de développement, de Django, etc. Ça peut faire un peu beaucoup d'un coup, mais pas d'inquiétude, ça sera vu en profondeur par la suite tout ça ;
- settings.py : fichier de configuration du projet, nous verrons de quoi il se compose dans la prochaine partie du chapitre d'ailleurs ;
- urls.py : ce fichier est le registre du projet généré par Django, c'est lui qui contiendra la structure des URLs qui mèneront aux différentes applications par exemple.
Comme précisé juste avant, le fichier de configuration d'un projet est le fichier
settings.py. Nous allons voir ici de quoi il se compose et qu'est-ce qu'il nous offre comme possibilités dans la configuration d'un projet. Ouvrez-le avec votre éditeur de texte favori, et c'est parti.
Configuration générale du projet
Code : Python1
2
3
4 | # Django settings for monprojet project.
DEBUG = True
TEMPLATE_DEBUG = DEBUG
|
Sur ces quelques lignes de code, c'est
DEBUG = True
qui va nous intéresser. Il est par défaut à True, et dit ainsi à Django que s'il y a une erreur, on veut des informations sur sa source. Vous pouvez passer bien entendu à
False
mais bon, je le déconseille, s'il y a une erreur, autant la déboguer.
Code : Python1
2
3
4
5 | ADMINS = (
# ('Your Name', 'your_email@domain.com'),
)
MANAGERS = ADMINS
|
Il faut renseigner ici, dans le tuple, dans un premier temps votre nom / pseudonyme et dans un second temps votre adresse email. Enlevez bien évidemment le
#
mettant la ligne en commentaire. Vous pouvez ajouter autant d'administrateurs que vous voulez sous le même modèle que l'actuel.
Configuration de la gestion des données
Code : Python1
2
3
4
5
6 | DATABASE_ENGINE = '' # 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'ado_mssql'.
DATABASE_NAME = '' # Or path to database file if using sqlite3.
DATABASE_USER = '' # Not used with sqlite3.
DATABASE_PASSWORD = '' # Not used with sqlite3.
DATABASE_HOST = '' # Set to empty string for localhost. Not used with sqlite3.
DATABASE_PORT = '' # Set to empty string for default. Not used with sqlite3.
|
Ici viennent se mettre les informations concernant la base de données et le système de gestion utilisé. Dans la première variable, renseignez quel système de gestion vous utilisez, les choix disponibles sont dans le commentaire juste à coté. Dans la variable suivante, le nom de la base de données, puis le nom d'utilisateur et juste après le mot de passe. On terminera avec l'
host de la base de données et le port sur lequel elle écoute.
Configuration de la langue et de l'heure
Code : Python1
2
3
4
5
6 | # Local time zone for this installation. Choices can be found here:
# http://www.postgresql.org/docs/8.1/static/datetime-keywords.html#DATETIME-TIMEZONE-SET-TABLE
# although not all variations may be possible on all operating systems.
# If running in a Windows environment this must be set to the same as your
# system time zone.
TIME_ZONE = 'America/Chicago'
|
À mettre ici le fuseau horaire à utiliser. Comme précisé dans le commentaire du code, rendez-vous à
cette adresse qui regroupe tous les fuseaux horaires disponibles. Pour mettre le fuseau horaire à celui de la France, il suffira de remplacer
TIME_ZONE = 'America/Chicago'
par
TIME_ZONE = 'Europe/Paris'
.
Code : Python1
2
3
4 | # Language code for this installation. All choices can be found here:
# http://www.w3.org/TR/REC-html40/struct/dirlang.html#langcodes
# http://blogs.law.harvard.edu/tech/stories/storyReader$15
LANGUAGE_CODE = 'en-us'
|
On va ici définir la langue à utiliser dans Django. Il me semble que toutes les langues ne sont pas supportées, mais une bonne partie l'est, le français notamment. Comme précédemment,
rendez-vous ici pour voir les lettres correspondantes aux différentes langues. Pour mettre en français, on remplacera
LANGUAGE_CODE = 'en-us'
par
LANGUAGE_CODE = 'fr-fr'
.
En ce qui concerne l'upload de fichiers
Code : Python1
2
3 | # Absolute path to the directory that holds media.
# Example: "/home/media/media.lawrence.com/"
MEDIA_ROOT = ''
|
Mettez ici l'adresse absolue du dossier où seront uploadés les différentes choses que l'on uploadera avec Django : images, fichiers et autres. C'est donc que Django dispose d'un outil d'upload.
Code : Python1
2
3 | # URL that handles the media served from MEDIA_ROOT.
# Example: "http://media.lawrence.com"
MEDIA_URL = ''
|
À mettre ici l'adresse du site Web gérant les différents fichiers qui seront uploadés. Pas besoin de plus d'explications je pense, les commentaires sont assez explicites.
Code : Python1
2
3
4 | # URL prefix for admin media -- CSS, JavaScript and images. Make sure to use a
# trailing slash.
# Examples: "http://foo.com/media/", "/media/".
ADMIN_MEDIA_PREFIX = '/media/'
|
Ici l'adresse du dossier qui contiendra les différents fichiers pour personnaliser l'interface d'administration de Django, ce n'est pas obligatoire de remplir maintenant, nous y reviendrons en temps voulu.
Comme vous pouvez le voir, tout le code n'a pas été développé ici, soit c'est qu'il n'en valait pas la peine par manque d'intérêt, soit parce qu'il fera l'objet de détails plus tard.
Cette partie marque la base même d'un projet Django, rien de bien palpitant encore, mais ça ne saurait tarder, patience... Ce qu'il y a d'important à retenir ici, c'est tout d'abord la création d'un projet, puis la configuration du fichier settings.py. Allez, on passe à la suite !