Exercices Concepts Web & Django Routeur d'URLs
🎉

Bravo!

Avancé 🧠 Fondamentaux 30 XP 0 personnes ont réussi

Routeur d'URLs

Un routeur complet gere plusieurs routes. Tu enregistres des patterns avec les handlers correspondants, et quand une URL arrive, le routeur trouve le bon handler.

Écris une classe Router avec :
- ajouter(pattern, handler_name) : enregistre une route
- resoudre(url) : retourne un tuple (handler_name, params_dict) pour la première route qui matche, ou None si aucune route ne correspond

Le pattern utilise <param> pour les segments dynamiques, comme dans l'exercice précédent.

Exemple :
r = Router()
r.ajouter('/users/<id>', 'user_detail')
r.resoudre('/users/42') renvoie ('user_detail', {'id': '42'})
r.resoudre('/posts/1') renvoie None

Tests (2/4)

Route trouvee
r = Router()
r.ajouter('/users/<id>', 'user_detail')
result = r.resoudre('/users/42')
assert result == ('user_detail', {'id': '42'})
Pas trouvee
r = Router()
r.ajouter('/users/<id>', 'user_detail')
assert r.resoudre('/posts/1') is None

+ 0 tests cachés

Indices (3 disponibles)

solution.py