Vues et URL
Acheminer les requêtes vers les vues
Vues et URL est une leçon Python Academy gratuite sur CoddyKit. Ceci est la leçon 3 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Python Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Python Academy comprend 4 leçons au total.
Qu’est-ce qu’une vue ?
Une vue Django est une fonction (ou une classe) qui reçoit une requête web et renvoie une réponse web. Les vues contiennent la logique de vos pages et se trouvent dans le views.py d’une application.
from django.http import HttpResponse
def home(request):
return HttpResponse('Hello, world!')
print('A view takes request, returns response')L’argument request
Chaque vue reçoit un objet request contenant les informations de la requête entrante : méthode, données GET/POST, utilisateur et bien plus encore.
from django.http import HttpResponse
def info(request):
return HttpResponse('Method: ' + request.method)
print('request carries the incoming data')Motifs d’URL
Le urls.py d’une application associe les chemins URL aux vues à l’aide d’une liste appelée urlpatterns et de la fonction path().
# blog/urls.py
from django.urls import path
from . import views
urlpatterns = [
path('', views.home),
]
print('path maps a URL to a view')Nommer les URL
Donnez un name à un motif afin de pouvoir y faire référence ailleurs sans intégrer le chemin en dur.
from django.urls import path
from . import views
urlpatterns = [
path('', views.home, name='home'),
]
print("name='home' lets you reference it later")Paramètres d’URL
Capturez des parties de l’URL avec des convertisseurs tels que <int:post_id>. La valeur capturée est transmise à la vue.
from django.urls import path
from . import views
urlpatterns = [
path('post/<int:post_id>/', views.detail, name='detail'),
]
print('post/5/ -> detail(request, post_id=5)')Lire le paramètre
La valeur capturée est reçue comme un argument nommé correspondant au nom du convertisseur.
from django.http import HttpResponse
def detail(request, post_id):
return HttpResponse('Post ' + str(post_id))
print('View receives post_id')Inclure les URL des applications
Le urls.py racine du projet importe les URL de chaque application avec include(), ce qui préserve la modularité du routage.
# mysite/urls.py
from django.urls import path, include
urlpatterns = [
path('blog/', include('blog.urls')),
]
print('include() wires up app urls')Générer les modèles
La fonction abrégée render() associe un modèle à un dictionnaire de contexte et renvoie une HttpResponse.
from django.shortcuts import render
def home(request):
return render(request, 'home.html', {'name': 'Alice'})
print('render combines template + context')Fonctions utilitaires 404
get_object_or_404() récupère un objet ou lève une erreur 404 s’il est absent ; c’est un schéma courant et sûr.
from django.shortcuts import get_object_or_404, render
from .models import Post
def detail(request, post_id):
post = get_object_or_404(Post, id=post_id)
return render(request, 'detail.html', {'post': post})
print('get_object_or_404 handles missing data')Résoudre les URL
En Python, reverse('detail', args=[5]) construit une URL à partir du nom d’un motif. Dans les modèles, la balise {% url %} fait la même chose.
from django.urls import reverse
# reverse('detail', args=[5]) -> '/blog/post/5/'
# In a template: {% url 'detail' post.id %}
print('reverse builds URLs from names')Vues fondées sur des classes
Django propose également des vues fondées sur des classes, comme ListView et DetailView, qui gèrent les schémas courants avec moins de code.
from django.views.generic import ListView
from .models import Post
class PostList(ListView):
model = Post
print('ListView lists objects automatically')Vérification rapide
Vérifiez vos connaissances sur les vues et les URL.
Récapitulatif
Vous avez dirigé les requêtes vers des vues.
- Les vues reçoivent une
requestet renvoient une réponse urlpatternsetpath()associent les URL aux vues, éventuellement avec unname- Des convertisseurs comme
<int:id>capturent des parties des URL include()relie les URL des applications ;render()etget_object_or_404()sont des fonctions abrégées pratiques
Questions Fréquemment Posées
La leçon « Vues et URL » est-elle gratuite ?
Oui — le texte complet de « Vues et URL » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Python Academy, passe à CoddyKit PRO. Le cours Python Academy comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Vues et URL » ?
Acheminer les requêtes vers les vues Tu pratiques Python Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer Python Academy ?
Aucune expérience préalable n'est requise. Python Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 3 sur 4.
Combien de temps prend la leçon « Vues et URL » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon Python Academy ?
Oui. Chaque leçon Python Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.