#25356: startapp template mustn't encourage using default_app_config -------------------------------------+------------------------------------- Reporter: aaugustin | Owner: nobody Type: Bug | Status: new Component: Core | Version: master (Management commands) | Severity: Release | Keywords: blocker | Triage Stage: | Has patch: 0 Unreviewed | Needs documentation: 0 | Needs tests: 0 Patch needs improvement: 0 | Easy pickings: 0 UI/UX: 0 | -------------------------------------+------------------------------------- I just noticed that `startapp` now generates an `apps.py`. This isn't unreasonable. However it also sets `default_app_config` in `__init__.py`. I have strong doubts about this.
`default_app_config` is an ugly API that I included reluctantly for one targeted use-case: allowing pre-existing pluggable apps to take advantage of app config functionality in a backwards-compatible fashion, that is, without requiring projets to upgrade their `INSTALLED_APPS` settings. The first use of this feature was in `django.contrib.admin` in order to get rid of `admin.autodiscover()` in `urls.py`. Relying implicitly on a default app config if one exists is clearly a bad practice. The good practice is to specifiy explicitly the full path to the `AppConfig` class in `INSTALLED_APPS`. I recommend to: - remove this line from `app_template/__init__.py` - promote explicit configuration of app configs in `INSTALLED_APPS` - clarify the docs of `default_app_config` with the information I described above -- Ticket URL: <https://code.djangoproject.com/ticket/25356> Django <https://code.djangoproject.com/> The Web framework for perfectionists with deadlines. -- You received this message because you are subscribed to the Google Groups "Django updates" group. To unsubscribe from this group and stop receiving emails from it, send an email to django-updates+unsubscr...@googlegroups.com. To post to this group, send email to django-updates@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/django-updates/052.a3da0c86e4400b9d011168167360776d%40djangoproject.com. For more options, visit https://groups.google.com/d/optout.