Comments on: Vous pouvez mettre du code dans __init__.py http://sametmax.com/vous-pouvez-mettre-du-code-dans-__init__-py/ Deux développeurs en vadrouille qui se sortent les doigts du code Wed, 05 Feb 2014 12:15:31 +0000 hourly 1 http://wordpress.org/?v=3.3.1 By: LeSocraTIC http://sametmax.com/vous-pouvez-mettre-du-code-dans-__init__-py/#comment-14818 LeSocraTIC Sat, 12 Oct 2013 16:25:38 +0000 http://sametmax.com/?p=3472#comment-14818 Très cool! Merci. Très cool! Merci.

]]>
By: foxmask http://sametmax.com/vous-pouvez-mettre-du-code-dans-__init__-py/#comment-10409 foxmask Thu, 27 Jun 2013 20:15:39 +0000 http://sametmax.com/?p=3472#comment-10409 cool merci ! cool merci !

]]>
By: Sam http://sametmax.com/vous-pouvez-mettre-du-code-dans-__init__-py/#comment-10406 Sam Thu, 27 Jun 2013 17:57:39 +0000 http://sametmax.com/?p=3472#comment-10406 Nan, c'est pas une bonne idée. Met ça dans un fichier base.py et importe juste le nécessaire dans __init__ sinon un jour quelqu'un va vouloir importer forms.un_truc, et ça va lancer le code du __init__ alors que lui il voulait juste un_truc. Nan, c’est pas une bonne idée. Met ça dans un fichier base.py et importe juste le nécessaire dans __init__ sinon un jour quelqu’un va vouloir importer forms.un_truc, et ça va lancer le code du __init__ alors que lui il voulait juste un_truc.

]]>
By: foxmask http://sametmax.com/vous-pouvez-mettre-du-code-dans-__init__-py/#comment-10400 foxmask Thu, 27 Jun 2013 15:18:16 +0000 http://sametmax.com/?p=3472#comment-10400 @sam je n'ai pas de forms.py ni de models.py mais <a href="https://github.com/foxmask/django-th/tree/master/django_th/forms" rel="nofollow">un dossier forms</a> et <a href="https://github.com/foxmask/django-th/tree/master/django_th/models" rel="nofollow">un dossier models</a> et j'ai mis dans le __init__.py de chacun, ce qui est commun à toute mon appli. donc partant de ton commentaire : > Je vous déconseille de mettre trop de code dans le fichier __init__.py, notamment du code métier. je me demandais si j'avais bien fait de le faire comme ça. @sam
je n’ai pas de forms.py ni de models.py mais un dossier forms et un dossier models et j’ai mis dans le __init__.py de chacun, ce qui est commun à toute mon appli.

donc partant de ton commentaire :
> Je vous déconseille de mettre trop de code dans le fichier __init__.py, notamment du code métier.
je me demandais si j’avais bien fait de le faire comme ça.

]]>
By: kontre http://sametmax.com/vous-pouvez-mettre-du-code-dans-__init__-py/#comment-10385 kontre Wed, 26 Jun 2013 22:24:43 +0000 http://sametmax.com/?p=3472#comment-10385 J'ai eu un instant d'incompréhension aussi : c'est aliasing comme un alias, pas comme le lissage des bordures dans les affichages 3D. Ca peut servir aussi pour éviter les <code>from bidule.machin import Machin</code> en ayant uniquement <code>from bidule import Machin</code> (avec <code>from .machin import Machin</code> dans le <code>__init__.py</code>). J’ai eu un instant d’incompréhension aussi : c’est aliasing comme un alias, pas comme le lissage des bordures dans les affichages 3D.

Ca peut servir aussi pour éviter les from bidule.machin import Machin en ayant uniquement from bidule import Machin (avec from .machin import Machin dans le __init__.py).

]]>
By: Sam http://sametmax.com/vous-pouvez-mettre-du-code-dans-__init__-py/#comment-10384 Sam Wed, 26 Jun 2013 20:41:45 +0000 http://sametmax.com/?p=3472#comment-10384 Par exemple : <pre lang="python">from bidule import Truc OldTrucName = Truc</pre> Ce qui permet de faire des versions de transition quand on fait du deprecated. Par exemple :

from bidule import Truc
OldTrucName = Truc

Ce qui permet de faire des versions de transition quand on fait du deprecated.

]]>
By: residante http://sametmax.com/vous-pouvez-mettre-du-code-dans-__init__-py/#comment-10382 residante Wed, 26 Jun 2013 19:56:43 +0000 http://sametmax.com/?p=3472#comment-10382 Globalement ça sert à exposer l'api publique d'un projet. En tout cas c'est comme ça que je l'utilise :) Sinon c'est quoi l'Aliasing dans ce contexte ? Globalement ça sert à exposer l’api publique d’un projet. En tout cas c’est comme ça que je l’utilise :)

Sinon c’est quoi l’Aliasing dans ce contexte ?

]]>
By: Sam http://sametmax.com/vous-pouvez-mettre-du-code-dans-__init__-py/#comment-10380 Sam Wed, 26 Jun 2013 19:32:27 +0000 http://sametmax.com/?p=3472#comment-10380 J'ai pas compris foxmask. Poste une arbo et le contenu des fichiers. J’ai pas compris foxmask. Poste une arbo et le contenu des fichiers.

]]>
By: foxmask http://sametmax.com/vous-pouvez-mettre-du-code-dans-__init__-py/#comment-10379 foxmask Wed, 26 Jun 2013 18:54:19 +0000 http://sametmax.com/?p=3472#comment-10379 avec Django je me sers des __init__.py dans ds dossier models, forms'pour avoir des modèles distincts par service.c'est une connerie ? avec Django je me sers des __init__.py dans ds dossier models, forms’pour avoir des modèles distincts par service.c’est une connerie ?

]]>
By: martin http://sametmax.com/vous-pouvez-mettre-du-code-dans-__init__-py/#comment-10377 martin Wed, 26 Jun 2013 18:12:57 +0000 http://sametmax.com/?p=3472#comment-10377 Et je reviens aussi avec mes fichiers .pth Vous pouvez aussi y mettre du code qui s'exécute automatiquement: Dans un fichier truc.pth: <code> import sys; exec(''.join(f) if __name__ == 'site' else '', {}) if vous(voulez): vous pouvez exécuter n'importe quoi ici ici </code> Et je reviens aussi avec mes fichiers .pth

Vous pouvez aussi y mettre du code qui s’exécute automatiquement:

Dans un fichier truc.pth:


import sys; exec(''.join(f) if __name__ == 'site' else '', {})
if vous(voulez):
vous pouvez exécuter n'importe quoi ici ici

]]>