Comments on: Organisation d’une application Django http://sametmax.com/organisation-dune-application-django/ Du code, du cul Mon, 28 Oct 2019 11:54:55 +0000 hourly 1 https://wordpress.org/?v=4.9.7 By: Baghrous http://sametmax.com/organisation-dune-application-django/#comment-176958 Thu, 10 Mar 2016 04:02:58 +0000 http://sametmax.com/?p=7011#comment-176958 Merci pour ce très bon article, l’organisation app / projet devient un peu plus clair. :)

]]>
By: The_Dr http://sametmax.com/organisation-dune-application-django/#comment-168613 Thu, 26 Nov 2015 17:49:02 +0000 http://sametmax.com/?p=7011#comment-168613 OK, super, je vais donc m’y mettre, ya plus qu’à comme dirait l’autre (et ce coup-ci je coche la case de follow-up !).

D’ailleurs en parlant de cela, la case “follow-up” serait mieux au niveaux des identifiants, cela éviterait de se dire après “oups” j’ai oublié quelle page c’était :-)

]]>
By: Sam http://sametmax.com/organisation-dune-application-django/#comment-168550 Wed, 25 Nov 2015 23:25:18 +0000 http://sametmax.com/?p=7011#comment-168550 Pour la 1, je mettrais des commandes django plutôt.

Pour la 2, l’un ou l’autre se vaut. Perso je préfère celery pour toutes les raisons que tu as indiqués, et du coup il y a un module task.py et non un répertoire bin.

]]>
By: The_Dr http://sametmax.com/organisation-dune-application-django/#comment-168547 Wed, 25 Nov 2015 22:24:27 +0000 http://sametmax.com/?p=7011#comment-168547 Hop, et bien voilà, je me disais bien aussi que ce que je faisais de manière empirique devait être logique :-)

Maintenant c’est bon je suis convaincu : bordel -> organisation -> factorisation -> … et encore le bordel (rangé) !!!

Question subsidiaire : je n’ai pas de lib mais plutôt un répertoire bin.

Dans ce répertoire je mets le code pour :

1 – des actions que je lance soit avec django pour des mises à jour de données (rafraichissement des données issues de sources externes, qui sont parsées)

2 – lander les actions périodiquement.

Est-ce la bonne approche pour “bin” ? Je me demande s’il ne vaudrait pas mieux que je rappatrie une partie des codes dans les apps qui existent … Qu’en pensez-vous ?

Pour la partie “cron” je pourrais la lancer à partir de django. J’ai l’impression que Celery serait mieux (pas de problème de PATH python, gestion des logs, gestion des erreurs, pas de droits root sur la machine de prod, …). Vous avez un petit commentaire sur le sujet ?

]]>
By: Personne http://sametmax.com/organisation-dune-application-django/#comment-168528 Wed, 25 Nov 2015 16:24:35 +0000 http://sametmax.com/?p=7011#comment-168528 Il y a une balise mal fermée au niveau de “Ce n’est pas obligatoire, mais ça facilite beaucoup la vie, et la refactorisation.”

Sinon, très bon article !

]]>
By: Napoleon http://sametmax.com/organisation-dune-application-django/#comment-164082 Wed, 26 Aug 2015 17:33:33 +0000 http://sametmax.com/?p=7011#comment-164082 Très bien, j’essaierai de suivre ces sages conseils a l’avenir.

Merci !

]]>
By: Sam http://sametmax.com/organisation-dune-application-django/#comment-164081 Wed, 26 Aug 2015 17:15:08 +0000 http://sametmax.com/?p=7011#comment-164081 Cela dépend du contenu de la vue :

  • si c’est de la manipulation de données, tu peux mettre ça dans les models.py
  • si c’est de la validation de données, tu peux mettre ça dans forms.py.
  • si c’est du formatage pre template, tu peux mettre ça dans un template tag.
  • pour le reste, tu mets ça dans un module nommé selon le but de la procedure dans ton app (ou une app spécifique pour ça si tu as beaucoup de code). Tu n’est pas limité aux modules existant dans une app, tu peux et doit créé tes propres modules.
]]>
By: Napoleon http://sametmax.com/organisation-dune-application-django/#comment-164080 Wed, 26 Aug 2015 17:05:28 +0000 http://sametmax.com/?p=7011#comment-164080 Hey ! Bonjour tout le monde !

J’ai commencé a me former a l’utilisation du Python et de Django tout récemment. Et parfois certaines questions ‘techniques’ ou d’organisations me désarçonnent complètement.

Heureusement d’ailleurs que des sites comme celui-ci (mais quand même en particulier celui-ci) me donnent un sacré coup de de main quand cela arrive.

Cependant ( et c’est peut etre bien de ma faute, je n’ai peut etre pas encore assez chercher), je n’ai pas trouvé réponse a la question que je me posais en arrivant sur cette page.

Le projet sur lequel je travaille est encore dans une phase “enfant” , malgré cela, je commence a avoir des fonctions dans mes views.py qui ressemble de plus en plus a de gros pavés en accumulant 50 ou 100 lignes de codes par fonction.

Alors, voila ma question: “D’après vous, quelle est la meilleure facon de remédier a ce problème ? Comment redécouper proprement une fonction contenue dans un views.py ?”

Bonne soirée a vous ;)

]]>
By: Gui. http://sametmax.com/organisation-dune-application-django/#comment-162162 Tue, 16 Jun 2015 09:48:10 +0000 http://sametmax.com/?p=7011#comment-162162 Merci beaucoup pour cet article !

Connaissant le dev web via des framework PHP (codeIgniter, CakePHP…), j’ai été un peu chamboulé au début avec Django. En tant que bon fainéant de dev, je prône la factorisation: je savais qu’il fallait que je m’organise bien mais j’étais perdu avec cette histoire d’app… Concrètement ton article m’a ouvert les yeux, un point reste néanmoins flou… Pour le moment j’ai une app qui gère les utilisateurs et les groupes (pas d’utilisation des groupes Django, nos specs partent sur un autre principe) et il va y avoir une app métier. Dans ma première app j’ai mis en place Bootstrap & JQuery (car Django pas content voulait pas mappé sur le dir static de la racine). Sera t il possible d’utilisé ces css et js depuis l’autre app ? Dans un premier temps les 2 apps seront très très liées mais bon…

]]>
By: Sam http://sametmax.com/organisation-dune-application-django/#comment-161984 Sat, 13 Jun 2015 05:13:57 +0000 http://sametmax.com/?p=7011#comment-161984 Ton arbo originale n’a pas d’importance. L’important est que tu prennes le temps de revenir dessus régulièrement pour la modifier et l’adapter au fur et à mesure que ton projet évolue.

Au début, il est naturel que tu ne saches pas exactement quelles sont les fonctionalités à isoler sous forme d’app, et donc tu fais des apps pour chaque partie de ton architecture. Plus tard, les groupes fonctionnels apparaitrons plus clairs, et tu voudras sans doute revoir ton organisation.

]]>