2

I'd like to know what the actual definition of a django app (application) is.

This question has been asked before, but it's still not clear to me what packages must be Django applications, and (crucially) listed as such in INSTALLED_APPS in settings.py, and which packages can just be plain old python packages that are used in a generic python manner (i.e., simply imported in the usual python way without being listed in INSTALLED_APPS).

The closest answer I got was here:

Apps are generally oriented around models.

Community
  • 1
  • 1
user1071847
  • 633
  • 9
  • 20

1 Answers1

3

There's a desciption of apps and projects in the docs, but it doesn't include a definitive list of features that require the app to be included in INSTALLED_APPS.

Here's my attempt at a list of features that require the app to be in INSTALLED_APPS, it's probably incomplete.

  • models
  • template tags
  • a templates directory, if you want it to be found by the app directories loader
  • code in an AppConfig class that you want to be run when the server starts
Alasdair
  • 298,606
  • 55
  • 578
  • 516