Tôi đang phát triển một ứng dụng Django, một hệ thống lớn yêu cầu nhiều ứng dụng phụ để giữ mọi thứ gọn gàng. Vì vậy, tôi có một thư mục cấp cao nhất mà là một ứng dụng Django (vì nó có một tập tin rỗng models.py
), và nhiều thư mục con, cũng là ứng dụng trong chính chúng.Tiểu sử và cấu trúc mô-đun Django
Lý do tôi đã đặt đơn đăng ký của mình theo cách này là do các ứng dụng con được tách riêng, nhưng chúng sẽ không bao giờ được sử dụng riêng, bên ngoài ứng dụng gốc. Do đó, không phân biệt chúng một cách riêng biệt.
Khi cài đặt ứng dụng của tôi, các tập tin cài đặt có bao gồm một cái gì đó như thế này:
INSTALLED_APPS = (
...
'myapp',
'myapp.subapp1',
'myapp.subapp2',
...
)
... mà rõ ràng là tối ưu. Điều này cũng có kết quả hơi khó chịu khi yêu cầu tất cả các ứng dụng con được gọi bằng tên "bên trong" của chúng (ví dụ: subapp1
, subapp2
, v.v.). Ví dụ, nếu tôi muốn thiết lập lại các bảng cơ sở dữ liệu cho subapp1, tôi phải gõ:
python manage.py reset subapp1
Đây là khó chịu, đặc biệt là bởi vì tôi có một tiểu ứng dụng gọi core
- đó là khả năng xung đột với tên của ứng dụng khác khi ứng dụng của tôi được cài đặt trong dự án của người dùng.
Tôi có thực hiện điều này một cách hoàn toàn sai hay không, để đưa các ứng dụng "bên trong" này được gọi bằng tên đầy đủ của chúng?
Tại sao điều này phụ tối ưu cho bạn? Bạn có thể làm rõ những gì bạn muốn đạt được? –
Đơn giản chỉ vì, để cài đặt "ứng dụng" của tôi, mọi ứng dụng trong mô-đun chính là bắt buộc, do đó, nó trùng lặp dữ liệu thực sự. Ngoài ra, nếu chúng tôi thêm bất kỳ ứng dụng con nào, chúng phải được thêm vào danh sách các ứng dụng đã cài đặt trên mọi cài đặt. –