Django-Anwendungsstrategie

14

Ich habe eine Weile an einem Django-Projekt gearbeitet, das in letzter Zeit etwas gewachsen ist. Ich habe ein wenig darüber nachgedacht, mit welcher Strategie es einfacher zu handhaben ist. Eine Sache, über die ich gerne Input hätte, wäre, wenn ich meine Anwendung in mehrere kleinere Anwendungen aufteilen würde. Das würde meine Ansicht und Modelldateien verkleinern und einige der Bedenken trennen.

Eine Sache, die mich daran stört, ist, dass ich in meinen Anwendungen mehrere Hilfsmethoden habe, die anwendungsübergreifend verwendet werden. Einige Modelle müssen auch für mehrere Anwendungen freigegeben / verwendet werden. Wäre das sinnvoll? Dies passt nicht zu der Trennung von Bedenken, die ich durch die Aufteilung meiner App in mehrere kleinere Apps erreichen wollte. Was wäre ein guter Ansatz für den Austausch von Hilfsmethoden, Modellen usw. zwischen Anwendungen?

Mikael
quelle

Antworten:

11

Wenn Ihr Projekt immer umfangreicher wird, stellen Sie sich Apps als wiederverwendbare Module vor. Sie können die in Ihren Apps gemeinsam genutzten Funktionen in eine eigene App aufteilen.

In den folgenden Diskussionen finden Sie weitere Gedanken zu diesem Thema:

tötlich
quelle
Was ist, wenn eine App der Projektnavigation einige Menüelemente hinzufügen muss? stackoverflow.com/questions/23405610
utapyngo
2

Ich erstelle gerne eine base/App ohne Aufrufe und ohne Momente für freigegebene Inhalte.

Ein Problem, das bei Modellen auftreten kann, die auf mehrere Apps verteilt sind, ist der zirkuläre Import. Dies kann vermieden werden, indem Zeichenfolgen verwendet werden, um auf andere Modelle zu verweisen ( foo = ForeignKey("someapp.Foo")anstelle von foo = ForeignKey(someapp.models.Foo)). Mit Django können Sie solche Zeichenfolgen an mehreren Stellen verwenden.

Simon Pantzare
quelle