Strategi aplikasi Django

14

Saya telah bekerja beberapa saat pada proyek Django yang telah tumbuh sedikit belakangan ini. Saya telah memikirkan sedikit tentang strategi apa yang digunakan untuk membuatnya lebih mudah ditangani. Satu hal yang saya ingin mendapat masukan adalah jika saya harus membagi aplikasi saya menjadi beberapa aplikasi yang lebih kecil. Itu akan membuat tampilan dan model file saya lebih kecil dan memisahkan beberapa masalah.

Satu hal yang mengganggu saya adalah bahwa dalam aplikasi saya, saya akan memiliki beberapa metode pembantu yang akan digunakan di seluruh aplikasi. Juga beberapa model juga harus dibagikan / digunakan di seluruh aplikasi. Apakah ini masuk akal? Ini tidak sesuai dengan pemisahan kekhawatiran yang saya harapkan untuk dicapai dengan memisahkan aplikasi saya di beberapa aplikasi yang lebih kecil. Apa yang akan menjadi pendekatan yang baik untuk berbagi metode, model, dll. Di berbagai aplikasi?

Mikael
sumber

Jawaban:

11

Jika proyek Anda semakin besar, anggap aplikasi sebagai modul yang dapat digunakan kembali. Anda dapat memisahkan fungsionalitas yang dibagikan di seluruh aplikasi Anda menjadi aplikasi sendiri.

Lihat diskusi di bawah ini untuk pemikiran lebih lanjut tentang masalah ini:

mematikan
sumber
Bagaimana jika suatu aplikasi perlu menambahkan beberapa item menu ke navigasi proyek? stackoverflow.com/questions/23405610
utapyngo
2

Saya suka membuat base/aplikasi tanpa tampilan dan tanpa momen untuk hal-hal yang dibagikan.

Satu masalah yang dapat terjadi ketika model Anda tersebar di beberapa aplikasi adalah impor melingkar. Ini dapat dihindari dengan menggunakan string untuk merujuk ke model lain ( foo = ForeignKey("someapp.Foo")bukan foo = ForeignKey(someapp.models.Foo)). Django memungkinkan Anda menggunakan string seperti ini di lebih banyak tempat.

Simon Pantzare
sumber