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 »

Gérer ses secrets dans des variables d’environnement

Vous vous demandez sans doute pourquoi un article sur ce sujet alors qu’on trouve plein de documentation sur le sujet sur le web. Eh bien parce que j’ai un tout petit peu galéré pour savoir où il fallait mettre ces satanées variables d’environnement pour que tout fonctionne bien.

Read more « Gérer ses secrets dans des variables d’environnement »

Gestion des environnements dev, préproduction, production

Cet article vous propose une méthode de gestion du fichier settings.py de python pour déployer facilement et rapidement avec GIT depuis l’environnement de développement, en préproduction puis en production sans rien changer dans le code.

La façon la plus intéressante de gérer les variables du fichier settings.py de Django est sans doute d’utiliser les variables d’environnement. Je parlerai de ces variables dans un autre article. Toutefois, que faire si l’environnement de pré-production et l’environnement de production sont hébergés sur le même serveur apache ? Je vous propose une solution que j’ai mise en place et qui me fait gagner un temps précieux.

Read more « Gestion des environnements dev, préproduction, production »