From 1ea307b2f31fbc345f5225b3cbc5343215152482 Mon Sep 17 00:00:00 2001 From: Fred Date: Thu, 1 Oct 2015 21:17:14 +0200 Subject: [PATCH] create django app --- book/fr/step-02-create-django-app.md | 41 ++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/book/fr/step-02-create-django-app.md b/book/fr/step-02-create-django-app.md index 64b4df7..15a291a 100644 --- a/book/fr/step-02-create-django-app.md +++ b/book/fr/step-02-create-django-app.md @@ -7,3 +7,44 @@ Comme on l'a vu ci-dessus, `django-admin` permet de créer un nouveau projet. Dj * Application: *contexte* éventuellement indépendant, permettant d'effectuer une partie isolée de ce que l'on veut faire. Pour `gwift`, on va notamment avoir une application pour la gestion des listes de souhaits et des éléments, une deuxième application pour la gestion des utilisateurs, voire une troisième application qui gérera les partages entre utilisateurs et listes. On voit bien ici le principe de **contexte**: l'application viendra avec son modèle, ses tests, ses vues, son paramétrage, ... Et pourra éventuellement être réutilisée dans un autre projet. C'est en ça que consistent les [paquets Django](https://www.djangopackages.com/) déjà disponibles: ce sont simplement de petites applications empaquetées pour être réutilisables (eg. [Django-Rest-Framework](https://github.com/tomchristie/django-rest-framework), [Django-Debug-Toolbar](https://github.com/django-debug-toolbar/django-debug-toolbar), ...). + +manage.py +--------- + +Comme expliqué un peu plus haut, le fichier `manage.py` est un *wrapper* sur les commandes `django-admin`. A partir de maintenant, nous n'utiliserons plus que celui-là pour tout ce qui touchera à la gestion de notre projet: + + * `manage.py check` pour vérifier que votre projet ne rencontre aucune erreur + * `manage.py runserver` pour lancer un serveur de développement + * `manage.py test` pour découvrir les tests unitaires disponibles et les lancer. + +La liste complète peut être affichée avec `manage.py help`. Vous remarquerez que ces commandes sont groupées: + + * **auth**: création d'un nouveau super-utilisateur, changer le mot de passe pour un utilisateur existant. + * **django**: vérifier la *compliance* du projet, lancer un *shell*, *dumper* les données de la base, effectuer une migration du schéma, ... + * **sessions**: suppressions des sessions en cours + * **staticfiles**: gestion des fichiers statiques et lancement du serveur de développement. + +Nous verrons plus tard comment ajouter de nouvelles commandes. + +Structure d'une application +--------------------------- + +Maintenant que l'on a vu à quoi servait `manage.py`, on peut créer notre nouvelle application grâce à la commande `manage.py startapp