The admin panel as a starting point, not the whole product
Django's generated admin panel is often the reason teams pick the framework at all: define a model, register it with the admin, and a working create-edit-list interface exists without writing a single screen by hand. We use it heavily for internal operations, moderation queues and configuration screens that would otherwise be a meaningful chunk of a project's budget to build from scratch.
The admin panel is not designed to be the customer-facing product, and stretching it to be one (heavy custom JavaScript inside admin templates, unusual permission logic bent to fit the admin's assumptions) tends to produce something harder to maintain than either a proper custom interface or a separate frontend calling a Django REST Framework API. We draw that line early in a project rather than discovering it after the admin panel has been pushed past what it was built for.











