Intro à Django
The web framework for perfectionists with deadlines

The web framework for ponies with magical powers
The web framework for perfectionists with deadlines

GET /wiki/La_Jungle_(roman)HTTP/1.1 Host: fr.wikipedia.org Accept: text/html ...
Verbe
Chemin
Requête HTTP

HTTP/1.1 200 OK
Content-Type: text/html
<html>
<head>
...
Code de statut
Réponse HTTP
La plupart des sites web ont besoin de…
- Enregistrer des données
- Lire des requêtes HTTP et envoyer des réponses HTTP
- Générer du code HTML
Django est un système MVT
✅ Pour enregistrer des données
Modèle
Vue
Template
✅ Pour lire des requêtes HTTP et renvoyer des réponses HTTP
✅ Pour générer du code HTML
Mais pourquoi Django ?
- Basé sur Python
- Extrêmement flexible
- Rapide et sécurisé
- Fournit plein de fonctionnalités très pratiques

Interface d’administration automatique 😍
Exemple de modèle
from django.db import models
from django.utils import timezone
class Article(models.Model):
title = models.CharField(max_length=100)
body = models.TextField()
created_at = models.DateField(default=timezone.now)
author = models.ForeignKey(User, on_delete=models.CASCADE)
Un article est composé d’un titre, d’un corps de texte, d’une date de création, et d’un auteur
Exemple de vue
from django.shortcuts import render
from .models import Article
def article_detail(request, article_id):
article = Article.objects.get(id=article_id)
return render(request, "article_detail.html", {
"article": article
})
Exemple de template
{% extends "base.html" %}
{% block content %}
<h1>{{ article.title }}</h1>
{{ article.body }}
{% endblock %}
https://docs.djangoproject.com/fr/3.2/topics/templates/
Brancher la vue à Django
from articles import views
urlpatterns = [
path("article/<int:article_id>/", views.article_detail)
]
À vous de jouer ! 🚀
Intro à Django
By Sylvain Roflmao
Intro à Django
- 213