Guide de démarrage rapide avec Django : Créez votre première application Web
Guide de démarrage rapide avec Django : Créez votre première application Web
Django est un framework Web Python de haut niveau, conçu pour un développement rapide et une conception élégante. Il suit l'architecture Modèle-Vue-Template (MTV), encourageant la réutilisation du code et la modularité. Ce guide vous guidera étape par étape dans la création d'une application Django simple, pour vous permettre de démarrer rapidement.
1. Configuration de l'environnement
Tout d'abord, vous devez vous assurer que Python est installé sur votre système. Django recommande d'utiliser Python 3.6 ou une version ultérieure.
1.1 Installation de Python
Si Python n'est pas installé sur votre système, vous pouvez le télécharger et l'installer depuis le site officiel de Python.
1.2 Création d'un environnement virtuel (Virtual Environment)
Pour isoler les dépendances entre différents projets, il est fortement recommandé d'utiliser un environnement virtuel.
-
Ouvrez un terminal ou une invite de commandes.
-
Créez un répertoire de projet, par exemple
myproject:mkdir myproject cd myproject -
Créez et activez l'environnement virtuel:
python3 -m venv venv # ou python -m venv venv source venv/bin/activate # Linux/macOS venv\Scripts\activate # WindowsUne fois l'environnement virtuel activé, votre invite de terminal affichera
(venv), indiquant que vous utilisez l'environnement virtuel.
1.3 Installation de Django
Dans l'environnement virtuel activé, utilisez pip pour installer Django:
pip install Django
Vérifiez si l'installation a réussi:
python -m django --version
Vous devriez voir le numéro de version de Django.
2. Création d'un projet Django
Après avoir installé Django, vous pouvez créer un nouveau projet Django.
-
Toujours dans votre répertoire de projet (
myproject), exécutez la commande suivante:django-admin startproject mysiteCela créera un répertoire nommé
mysitedans le répertoiremyproject, contenant la structure de base du projet Django. -
Accédez au répertoire
mysite:cd mysite -
La structure du répertoire du projet Django est la suivante :
mysite/ manage.py mysite/ __init__.py settings.py urls.py asgi.py wsgi.pymanage.py: Un outil de ligne de commande pour gérer le projet Django.mysite/: Un paquet Python contenant la configuration du projet.__init__.py: Un fichier vide qui indique à Python que ce répertoire doit être considéré comme un paquet Python.settings.py: Le fichier de configuration du projet, tel que les paramètres de la base de données, le mode de débogage, etc.urls.py: La configuration du routage URL, qui mappe les URL aux fonctions de vue.asgi.py: Fichier de configuration ASGI (Asynchronous Server Gateway Interface) pour le déploiement d'applications asynchrones.wsgi.py: Fichier de configuration WSGI (Web Server Gateway Interface) pour le déploiement d'applications synchrones traditionnelles.## 3. Démarrer le serveur de développement
Django est livré avec un serveur de développement léger, pratique pour le développement et les tests locaux.
-
Dans le répertoire
mysite, exécutez la commande suivante :python manage.py runserver -
Ouvrez votre navigateur et accédez à
http://127.0.0.1:8000/. Vous devriez voir la page "It worked! Congratulations on your first Django-powered page.".
4. Créer une application Django
Un projet Django peut contenir plusieurs applications. Créons une application nommée myapp.
-
Ouvrez une nouvelle fenêtre de terminal (gardez le serveur de développement en marche).
-
Dans le répertoire
mysite, exécutez la commande suivante :python manage.py startapp myappCela créera un répertoire nommé
myappdans le répertoiremysite, contenant la structure de base des fichiers de l'application Django. -
La structure du répertoire de l'application Django est la suivante :
myapp/ __init__.py admin.py apps.py migrations/ __init__.py models.py tests.py views.py__init__.py: Un fichier vide qui indique à Python que le répertoire doit être considéré comme un paquet Python.admin.py: Utilisé pour configurer l'interface d'administration de Django.apps.py: Configuration de l'application.migrations/: Utilisé pour gérer les migrations de la base de données.models.py: Définit les modèles de données (tables de base de données).tests.py: Écrit des cas de test.views.py: Définit les fonctions de vue, traite les requêtes et renvoie les réponses.
-
Dans
mysite/settings.py, ajoutezmyappà la listeINSTALLED_APPS:INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'myapp', # Ajouter myapp ]
5. Créer une vue simple
Maintenant, créons une vue simple qui affiche "Hello, Django!" dans le navigateur.
-
Modifiez le fichier
myapp/views.pyet ajoutez le code suivant :from django.http import HttpResponse def index(request): return HttpResponse("Hello, Django!") -
Créez un fichier
myapp/urls.pyet mappez l'URL à la fonction de vue :from django.urls import path from . import views urlpatterns = [ path('', views.index, name='index'), ] -
Inclure
myapp/urls.pydansmysite/urls.py:from django.urls import include, path from django.contrib import admin urlpatterns = [ path('admin/', admin.site.urls), path('myapp/', include('myapp.urls')), # Ajouter la configuration URL de myapp ] -
Accéder à
http://127.0.0.1:8000/myapp/. Vous devriez voir la page "Hello, Django !".
6. Créer un modèle
Créons un modèle simple pour stocker des données.
-
Modifier le fichier
myapp/models.py, ajouter le code suivant :from django.db import models class Question(models.Model): question_text = models.CharField(max_length=200) pub_date = models.DateTimeField('date published') def __str__(self): return self.question_textCeci définit un modèle nommé
Question, contenant deux champs :question_text(CharField) etpub_date(DateTimeField). -
Créer et appliquer les migrations de la base de données :
python manage.py makemigrations myapp python manage.py migrateLa commande
makemigrationscréera des fichiers de migration basés sur votre modèle, et la commandemigrateappliquera les migrations à la base de données.
7. Utiliser l'interface d'administration Django
Django fournit une interface d'administration puissante, qui permet de gérer facilement vos données.
-
Créer un superutilisateur :
python manage.py createsuperuserSuivez les instructions pour entrer un nom d'utilisateur, une adresse e-mail et un mot de passe.
-
Modifier le fichier
myapp/admin.py, enregistrer le modèleQuestion:from django.contrib import admin from .models import Question admin.site.register(Question) -
Accéder à
http://127.0.0.1:8000/admin/, se connecter avec le superutilisateur que vous avez créé. Vous devriez voir le module "Questions", qui permet d'ajouter, de modifier et de supprimer des questions.
8. Utiliser des modèles (templates)
L'utilisation de modèles permet de générer des pages HTML de manière plus flexible.
-
Dans le répertoire
myapp, créez un répertoire nommétemplates, puis dans le répertoiretemplates, créez un répertoire nommémyapp(myapp/templates/myapp). -
Dans le répertoire
myapp/templates/myapp, créez un fichier nomméindex.htmlet ajoutez le code suivant :Hello, Django! The current time is: {{ current_time }} -
Modifiez le fichier
myapp/views.pypour utiliser le modèle :from django.shortcuts import render import datetime def index(request): now = datetime.datetime.now() return render(request, 'myapp/index.html', {'current_time': now})La fonction
renderchargera le modèle et transmettra les données au modèle pour le rendu. -
Revisitez
http://127.0.0.1:8000/myapp/. Vous devriez voir une page contenant l'heure actuelle.
9. Conclusion
Grâce à ce guide, vous avez découvert les concepts de base et l'utilisation de Django, notamment la configuration de l'environnement, la création de projets et d'applications, la définition de modèles, la création de vues et l'utilisation de modèles. Ce n'est qu'un début, Django offre de nombreuses fonctionnalités que vous pouvez continuer à apprendre et à explorer pour créer des applications Web plus complexes.





