Một 'ứng dụng' có thể là nhiều thứ khác nhau, tất cả đều thực sự phù hợp. Ví dụ: giả sử bạn đang xây dựng một blog. Ứng dụng của bạn có thể là toàn bộ blog hoặc bạn có thể có ứng dụng 'quản trị viên', ứng dụng 'trang web' cho tất cả các chế độ xem công khai, ứng dụng 'rss', ứng dụng 'dịch vụ' để các nhà phát triển có thể giao diện với blog trong cách riêng, v.v.
Cá nhân tôi sẽ tự biến blog trở thành ứng dụng và khám phá các chức năng bên trong nó. Sau đó, blog có thể được sử dụng lại khá dễ dàng trong các trang web khác.
Điều thú vị về Django là nó sẽ nhận ra bất kỳ tệp models.py trong bất kỳ cấp nào của cây thư mục của bạn dưới dạng tệp chứa các mô hình Django. Vì vậy, việc chia nhỏ chức năng của bạn thành các 'ứng dụng con' nhỏ hơn trong bản thân 'ứng dụng' sẽ không gây khó khăn gì hơn.