Je travaille depuis un certain temps sur un projet Django qui s'est développé un peu récemment. J'ai réfléchi un peu à la stratégie à utiliser pour la rendre plus facile à gérer. Une chose sur laquelle j'aimerais obtenir des commentaires serait de diviser mon application en plusieurs applications plus petites. Cela réduirait ma vue et mes fichiers de modèles et séparerait certaines des préoccupations.
Une chose qui me dérange avec cela est que dans mes applications, j'aurais plusieurs méthodes d'assistance qui seront utilisées dans toutes les applications. Certains modèles devront également être partagés / utilisés entre les applications. Serait-ce logique? Cela ne va pas bien avec la séparation des préoccupations que j'espérais atteindre en divisant mon application en plusieurs applications plus petites. Quelle serait une bonne approche pour partager des méthodes d'assistance, des modèles, etc. entre les applications?
la source
J'aime créer une
base/
application sans vues et sans moments pour partager des trucs.Un problème qui peut se produire lorsque vous avez des modèles répartis sur plusieurs applications est les importations circulaires. Cela peut être évité en utilisant des chaînes pour faire référence à d'autres modèles (
foo = ForeignKey("someapp.Foo")
au lieu defoo = ForeignKey(someapp.models.Foo)
). Django vous permet d'utiliser des chaînes comme celle-ci à plusieurs endroits.la source