Introduction à Django
Django est un framework web puissant et populaire écrit en Python. Conçu pour le développement rapide, propre et maintenable, il suit le principe « Don't Repeat Yourself » (DRY), favorisant la réutilisation du code et la clarté du projet.
Si vous débutez en développement web, Django est un excellent choix : sa documentation est complète, sa communauté très active et ses outils intégrés vous permettent de créer des sites robustes sans complexité inutile.
Pourquoi Choisir Django ?
- ⚡ Développement rapide : automatise de nombreuses tâches répétitives.
- 🔒 Sécurité intégrée : protège contre les failles courantes (injections SQL, XSS, CSRF, etc.).
- 🚀 Évolutivité : adapté aux petits comme aux grands projets.
- 🧩 Écosystème riche : de nombreuses bibliothèques et extensions disponibles.
- 🧑💼 Interface d’administration automatique : générée instantanément à partir de vos modèles.
Prérequis
Avant de commencer, assurez-vous d’avoir :
- Des bases en Python
- Python installé sur votre machine
- Un éditeur de code (VS Code, PyCharm, etc.)
Installation de Django
1️⃣ Installer Python
# Windows : téléchargez depuis python.org
# macOS
brew install python
# Linux
sudo apt-get install python3 python3-pip
2️⃣ Créer un environnement virtuel
python -m venv mon_env_django
# Activation
source mon_env_django/bin/activate # Windows : mon_env_django\Scripts\activate
3️⃣ Installer Django
pip install django
Créer Votre Premier Projet Django
📁 Création du projet
django-admin startproject monblog
cd monblog
🧱 Structure du projet
monblog/
│ manage.py
└── monblog/
├── __init__.py
├── settings.py
├── urls.py
├── asgi.py
└── wsgi.py
▶️ Lancer le serveur de développement
python manage.py runserver
Rendez-vous sur http://127.0.0.1:8000 pour voir votre premier site Django en action !
Créer Votre Première Application
Dans Django, un projet peut contenir plusieurs applications indépendantes. Créons-en une appelée articles :
python manage.py startapp articles
📂 Structure d’une application
articles/
├── __init__.py
├── admin.py
├── apps.py
├── migrations/
├── models.py
├── tests.py
└── views.py
Les Bases de Django
1️⃣ Les Modèles (Models)
Fichier : articles/models.py
from django.db import models
class Article(models.Model):
titre = models.CharField(max_length=200)
contenu = models.TextField()
date_publication = models.DateTimeField(auto_now_add=True)
auteur = models.CharField(max_length=100)
def __str__(self):
return self.titre
2️⃣ Les Vues (Views)
Fichier : articles/views.py
from django.shortcuts import render
from .models import Article
def liste_articles(request):
articles = Article.objects.all()
return render(request, 'articles/liste.html', {'articles': articles})
def detail_article(request, article_id):
article = Article.objects.get(id=article_id)
return render(request, 'articles/detail.html', {'article': article})
3️⃣ Les URLs
Fichier : articles/urls.py (à créer)
from django.urls import path
from . import views
urlpatterns = [
path('', views.liste_articles, name='liste_articles'),
path('article/<int:article_id>/', views.detail_article, name='detail_article'),
]
Et dans monblog/urls.py :
from django.contrib import admin
from django.urls import path, include
urlpatterns = [
path('admin/', admin.site.urls),
path('articles/', include('articles.urls')),
]
4️⃣ Les Templates
Créez le dossier templates/articles/
Fichier : templates/articles/liste.html
<!DOCTYPE html>
<html>
<head>
<title>Mon Blog</title>
</head>
<body>
<h1>Articles récents</h1>
{% for article in articles %}
<div>
<h2>{{ article.titre }}</h2>
<p>Par {{ article.auteur }} - {{ article.date_publication }}</p>
<a href="{% url 'detail_article' article.id %}">Lire la suite</a>
</div>
{% endfor %}
</body>
</html>
Interface d’Administration Django
🔧 Activer l’admin
Fichier : articles/admin.py
from django.contrib import admin
from .models import Article
admin.site.register(Article)
👤 Créer un superutilisateur
python manage.py makemigrations
python manage.py migrate
python manage.py createsuperuser
Connectez-vous ensuite à http://127.0.0.1:8000/admin/ avec vos identifiants.
Prochaines Étapes
- Apprendre à gérer les formulaires Django
- Explorer le système d’authentification utilisateur
- Découvrir les class-based views
- Mettre en place des tests automatiques
- Déployer votre application sur un hébergeur
Ressources Utiles
Conclusion
Django est un framework exceptionnel pour apprendre le développement web. Sa structure claire, ses outils puissants et sa communauté active vous permettront de progresser rapidement.
💡 Conseil final : pratiquez régulièrement, expérimentez et n’ayez pas peur de faire des erreurs — c’est le meilleur moyen d’apprendre !