• 20 hours
  • Medium

Free online content available in this course.

course.header.alt.is_video

course.header.alt.is_certifying

Got it!

Last updated on 12/12/19

Créez une nouvelle application

Log in or subscribe for free to enjoy all this course has to offer!

Dans le chapitre précédent vous avez affiché la page d'accueil par défaut de Django. Bravo, c'est déjà un grand pas !

D'ailleurs, Django vous y informe que "la prochaine étape est de créer une application en exécutant python manage.py startapp [nom_app]". Mais qu'est-ce que cela veut dire exactement ?

Qu'est-ce qu'une application ?

Une application est un ensemble de fonctionnalités fortement liées les unes avec les autres et partageant une cohérence commune. Il est assez courant qu'un projet Django ait plusieurs applications !

Par exemple, regardons le site de Lego France. Le menu contient les liens suivants :

  • Accueil

  • Produits

  • Jeux

  • Nouveautés

  • Shop

Imaginons que le site est développé avec Django. Il est probable qu'il s'organise alors autour des applications suivantes :

  • catalogue : partie responsable de stocker et afficher les produits de la rubrique "Produits" (catégories, attributs, ...).

  • games : partie responsable des jeux.

  • blog : partie responsable d'ajouter des articles dans le site sous une rubrique "Nouveautés".

  • store : partie responsable de la vente des produits dans la rubrique "Shop".

Concrètement, une application est une nouvelle librairie qui formera partie de votre projet. Comme toute librairie, vous pouvez la créer vous-même ou bien l'importer ! Voyons d'ailleurs comment utiliser une application tierce.

Installer une application

Je vous propose d'installer Django Debug Toolbar. Que fait-elle ? Cette application ajoute de nombreuses informations dans une barre de navigation à droite de l'écran :

Etant donné que toute application est un package, vous pouvez l'installer avec PyPI :

pip install django-debug-toolbar

Lorsque l'installation est terminée, ouvrez le fichier settings.py pour indiquer à Django que vous souhaitez utiliser cette application :

INSTALLED_APPS = [
    # ...
    'django.contrib.staticfiles',
    'debug_toolbar',
]

C'est tout ce que vous avez à faire pour installer une nouvelle application !

Néanmoins, chaque librairie est différente. Certaines ont besoin d'accéder aux tables de la base de données pour y lire certains réglages ! Django Debug Toolbar n'échappe pas à la règle. La page d'installation nous indique la marche à suivre.

settings.py

MIDDLEWARE = [
    'django.middleware.security.SecurityMiddleware',
    # ...,
    'debug_toolbar.middleware.DebugToolbarMiddleware',
]

# ...

INTERNAL_IPS = ['127.0.0.1']

Puis ouvrez le fichier urls.py et modifiez-le ainsi :

from django.conf import settings
from django.conf.urls import include, url
from django.contrib import admin

urlpatterns = [
    url(r'^admin/', admin.site.urls),
]

if settings.DEBUG:
    import debug_toolbar
    urlpatterns = [
        url(r'^__debug__/', include(debug_toolbar.urls)),
    ] + urlpatterns

Relancez le serveur et rendez-vous de nouveau sur la page d'accueil. Elle a changé ! Vous visualisez désormais une page d'erreur (code 404) et une belle barre de débogage a fait son apparition à droite ! Bravo ! 👏

Avez-vous l'impression que c'est un peu magique ? Oui ? C'est normal ! Vous venez tout juste d'ajouter une librairie à votre projet. Il est temps de démystifier tout cela ! Créez votre première application : store.

Créer une application

Cette application sera responsable des réservations et du catalogue à afficher sur le site.

Comment créer une nouvelle application ? Django contient une commande dédiée : django-admin startapp app_name

$ django-admin startapp store

Un nouveau répertoire vient d'être créé au même niveau que disquaire_project : store. Passons en revue les fichiers qu'il contient :

store/
    migrations/
        __init__.py
    admin.py
    apps.py
    models.py
    tests.py
    views.py
    __init__.py

Nous les découvrirons plus en détail tout au long de ce cours. Mais je sais que vous êtes impatient ! Voici donc à quoi ils correspondent :

  • migrations/ : fichiers qui modifient la structure de la base de données.

  • __init__.py : déclare que ce répertoire est une librairie.

  • admin.py : configuration de l'espace d'administration.

  • apps.py : configuration de l'application (vous n'avez pas besoin de le modifier).

  • models.py : modèles de l'application (nous y reviendrons).

  • tests.py : fichier qui contiendra les tests.

  • views.py : vues de l'application (nous y reviendrons).

Mettez à jour settings.py pour en déclarant votre application :

settings.py

INSTALLED_APPS = [
    'store.apps.StoreConfig',
    # ...
]

La structure de l'application est désormais créée mais de nombreux termes vous sont pour le moment inconnus. Par exemple, que signifient Modèle et Vue ? Découvrez dans le chapitre suivant l'architecture MVT, socle de tout projet Django !

Code de ce chapitre

Retrouvez le code de ce chapitre à cette adresse.

Example of certificate of achievement
Example of certificate of achievement