Opened 5 years ago
Last modified 5 years ago
#32382 closed Cleanup/optimization
Django 3.2 app config search prevents single-file apps — at Initial Version
| Reported by: | Adam Johnson | Owned by: | nobody |
|---|---|---|---|
| Component: | Core (Other) | Version: | 3.2 |
| Severity: | Normal | Keywords: | |
| Cc: | Aymeric Augustin | Triage Stage: | Unreviewed |
| Has patch: | no | Needs documentation: | no |
| Needs tests: | no | Patch needs improvement: | no |
| Easy pickings: | no | UI/UX: | no |
Description
My third party package django-read-only is implemented as a single file ([pre-3.1-support source](https://github.com/adamchainz/django-read-only/blob/e95530273fd75da34fd77b1625549ffd3840beaa/src/django_read_only.py)). With Django <3.2's default_app_config, it could point to its app config within the same module by defining default_app_config.
Now the AppConfig logic *requires* an apps submodule, which means apps cannot be single-file modules but have to be packages.
To work around this in django-read-only I made it into package, left all the logic in its __init__.py, and added a "dummy" apps.py that has only the line from django_read_only import DjangoReadOnlyAppConfig (moving the app config would complicate its implementation).
Could we make the apps logic not search for an 'apps' submodule in the case of non-package modules, and instead check in the base module?