RechercheRubriques
Derniers articles
|
Django behind the scenespublié le 12 jan. 2010 dans la catégorie : Développement Web Veille : regard sur les mécanisme introspectifs de Django : autodiscover() et ModelBase Dans un article bien écrit et inspiré, Charles Leifer nous prend par la main pour nous fait découvrir le fonctionnement interne de quelques uns des mécanismes qui font le charme de Django. Par exemple, la convention qui veut qu'on utilise un fichier admin.py pour définir l'interface d'administration des modèles d'une application resterait ineffective sans l'implémentation du motif autodiscover() - d'ailleurs repris dans le génial Haystack. De même, les modèles resteraient inanimés sans le secours de la metaclasse ModelBase. Python est un langage particulièrement souple qui permet ce genre d'introspection : y a-t-il un sous-module dénommé admin ? Le concept des metaclasses est également très puissant lorsque l'on veut opérer des initialisations complexes. Mais encore faut-il utiliser ces outils correctement. En décorticant le code source de Django, l'auteur met en évidence quelques bonnes pratiques et les avantages de ces motifs de programmation. |