Django-navutils, une app django pour gérer les menus et les breadcrumbs

published on June 3, 2015, 9:29 p.m. by eliotberriot | 0

Depuis que j'ai commencé à travailler sur Kii, je me suis posé la question des menus et de la navigation en général :

  • Comment faire pour que différentes applications puisse enregistrer leurs propres éléments dans un menu partagé
  • Comment gérer de façon déclarative les breadcrumbs, ou miettes de pains, qui permettent de savoir où l'on se trouve sur un site en affichant une arborescence de type Accueil > Blog > Bonjour tout le monde
  • Comment afficher des éléments menus de façon dynamique, avec des éléments qui s'affichent ou non en fonction de l'utilisateur (s'il est authentifié, administrateur, s'il possède une permission précise, etc.)
  • Comment générer des éléments menus de façon dynamique, par exemple, un sous-menu contenant la liste des catégories d'un blog

Le système de menu utilisé actuellement dans Kii répond en grande partie à toute ces questions. Cependant, je rencontre ces problématiques dans la plupart des projets Django sur lesquels je travaille, il semblait donc logique de créer une app Django dédiée pour résoudre ce problème.

C'est chose faite depuis environ deux semaines. J'ai en effet publié sur GitHub la bibliothèque django-navutils, ainsi qu'un paquet PyPi associé, basé sur le code initial des menus de Kii, retravaillé en très grande partie.

Django-navutils répond à la plupart des problématiques précédemment cités, et quelques autres, avec une API que j'ai essayé de rendre la plus déclarative possible.

Si vous avez un peu de temps et un projet django sous le coude, allez l'essayer :)

0 comments

publish