Date Picker dans une class based view

Petite astuce permettant de gérer un date picker (calendrier qui apparaît pour la saisie d’une date dans un champ date) avec Django, Crispy-forms, bootstrap 5.

Cette astuce est très courte, mais j’ai passé plus d’une heure à trouver une solution qui me convenait, c’est la raison pour laquelle je la mets ici.

J’ai trouvé plein de solutions sur le web qui permettaient de le faire, en ajoutant notamment des modules plus ou moins bien faits, ou des scripts javascripts, des css et tout ça. Je voulais rester simple. Mes contraintes étaient les suivantes :

  • rester sur une class based view, donc sans form.py
  • utiliser uniquement le type="date" de la balise <input> qui permet d’avoir un date picker avec un navigateur moderne
  • rester avec une génération automatique d’un formulaire en bootstrap 5 avec le très minimaliste filtre crispy dans ma template :
{{ form|crispy }}
Read more « Date Picker dans une class based view »