Category Archives : Programmation


Comment servir les fichiers statiques avec Django en dev et en prod

Servir les fichiers CSS, javascript et les images avec Django a toujours été la plus grande source de confusion (heureusement ça s’est bien amélioré avec la 1.4, donc upgradez si vous pouvez). C’est d’autant plus déroutant que la manière de faire est différente selon la version de Django, et selon que l’on est en production ou en développement.

Affiche du film "Labyrinthe

Logo de Python rendu à la Matrix

Les environnements virtuels Python : venv, virtualenv et virtualenvwrapper

Quand on commence beaucoup programmer, on accumule rapidement plusieurs projets en cours de développement sur sa machine. Certains vieux, certains récents, qui utilisent tous des bibliothèques similaires, mais pas forcément de mêmes versions. Ou parfois des bibliothèques incompatibles. Parfois même, des version différentes de Python: Python 2.6, 2.7, 3.2 ? Et c’est sans compter les mises à jour de l’OS, qui a ses propres besoins en terme de libs et de versions.

Le jour où ça casse, c’est le chaos.


Dessin de Drizzt Do'Urden

Générateur de nom d’heroic fantasy en Python

Les générateurs de nom d’heroic fantasy sont légions sur internet. Mais autant j’ai trouvé des générateurs de noms normaux en Python (dont je me sers d’ailleurs pour créer des comptes bidons automatiquement pour les démos), autant je n’ai rien trouvé pour pythonement printer l’en-tête d’une feuille de personnage de DDA.


Le pattern observer en utilisant des décorateurs

Nous avons vu précédemment que les décorateurs permettaient d’exécuter du code avant et après une fonction, sans modifier la fonction. La plupart du temps on retourne ainsi une nouvelle fonction embarquant un nouveau code.

Mais il existe d’autres usages pour les décorateurs, et notamment un qui est au cœur du fonctionnement de django-quicky: l’abonnement.

Schéma détaillant le phénomène de l'érection masculine