Exercices Concepts Web & Django Tri et pagination
🎉

Bravo!

Intermédiaire 🧠 Fondamentaux 20 XP 0 personnes ont réussi

Tri et pagination

Quand tu affiches des résultats sur un site, tu ne montres pas tout d'un coup. Tu affiches 10 ou 20 résultats par page, avec des boutons 'Page suivante'. C'est la pagination.

Écris une fonction paginer(données, page, par_page, tri_par=None, desc=False) qui :
1. Trie les données par le champ tri_par si specifie (ordre decroissant si desc=True)
2. Retourne uniquement les éléments de la page demandee (pages numérotees a partir de 1)

Exemple :
data = [{'n': 0}, {'n': 1}, {'n': 2}, {'n': 3}, {'n': 4}]
paginer(data, 2, 2) renvoie [{'n': 2}, {'n': 3}] (page 2, 2 par page)

Tests (2/4)

Page 1
data = [{'n': i} for i in range(10)]
assert len(paginer(data, 1, 3)) == 3
Tri
data = [{'v': 3}, {'v': 1}, {'v': 2}]
r = paginer(data, 1, 10, tri_par='v')
assert r[0]['v'] == 1

+ 0 tests cachés

Indices (3 disponibles)

solution.py