Intermédiaire
🧠 Fondamentaux
20 XP
0 personnes ont réussi
Réponse paginee avec Django
La pagination, c'est le fait de decouper une grande liste en pages. Si tu as 100 articles, tu ne veux pas tout envoyer d'un coup au client. Tu envoies 10 éléments par page, et le client demande la page qu'il veut.
En Django, les paramètres d'URL comme ?page=2&per_page=10 sont accessibles via request.GET.
Le module math de Python fournit math.ceil() pour arrondir vers le haut, utile pour calculer le nombre total de pages.
Écris une fonction paginated_list_view(request, items) qui : - Recupere le paramètre 'page' dans request.GET (défaut '1'), converti en int - Recupere le paramètre 'per_page' dans request.GET (défaut '10'), converti en int - Calcule le slice correct des items - Retourne un JsonResponse avec les clés : data (les items de la page), page, per_page, total, total_pages, has_next, has_prev