Pracuję chwilę nad projektem Django, który ostatnio trochę się rozwija. Zastanawiałem się trochę, jaką strategię zastosować, aby ułatwić sobie obsługę. Jedną rzeczą, o której chciałbym się dowiedzieć, byłoby podzielenie mojej aplikacji na kilka mniejszych aplikacji. To zmniejszyłoby mój widok i modele plików i rozdzieliło niektóre obawy.
Niepokoi mnie to, że w moich aplikacjach miałbym kilka metod pomocniczych, które będą używane w różnych aplikacjach. Również niektóre modele będą musiały być współużytkowane / używane w różnych aplikacjach. Czy to miałoby sens? Nie idzie to dobrze z rozdzieleniem problemów, które miałem nadzieję osiągnąć, dzieląc moją aplikację na kilka mniejszych aplikacji. Jakie byłoby dobre podejście do dzielenia się metodami pomocniczymi, modelami itp. Między aplikacjami?
źródło
Lubię tworzyć
base/
aplikację bez widoków i bez chwil na udostępnianie rzeczy.Jednym z problemów, który może wystąpić, gdy modele są rozproszone w wielu aplikacjach, jest cykliczny import. Można tego uniknąć, stosując ciągi znaków odnoszące się do innych modeli (
foo = ForeignKey("someapp.Foo")
zamiastfoo = ForeignKey(someapp.models.Foo)
). Django pozwala używać takich ciągów znaków w większej liczbie miejsc.źródło