Natalia writes:
I really believe we should take a more conservative approach with
default imports.
FWIW, I’m still not sure if it is already decided to have default imports in django itself? I’m still a bit undecided here to whether I would favour this or not.
This would replicate something that is already available from the django_extensions package (using its shell_plus command). And I think many people, like Ken [1], expressed the habit of always installing the django_extensions package with a new project.
So why replicate something that most people will likely have anyway when setting up a new project? And it maybe could lead to problems with the existing django_extensions package.
A seasoned django developer will either have django_extensions installed anyway or it’s just a quick “pip install django_extensions + edit of the settings file” away.
For beginners django could make the recommendation in the docs and tutorials to always install the django_extensions?!
On the other hand django_extensions is an external package. I think it’s neither part of Django Commons[2] nor JazzBand[3]. Work on the package has stalled for quite some time now and according to the maintainer trbs it is unclear “when work will pick up in a significant way” [4].
And in another discussion [5] it seems to be already decided, that a management command like show_urls should be part of django itself, which is also in django_extensions.
I guess in the end I tend to lean towards having “default imports” and “show_urls” in django itself, considering the indefinite hiatus of the django_extensions package.
[1] Should the show_urls command be part of Django's standard library? - #5 by KenWhitesell
[2] Django Commons - A home for community-maintained Django packages · Better Simple
[3] https://jazzband.co/
[4] Moving django-extensions forward · Issue #1892 · django-extensions/django-extensions · GitHub
[5] Should the show_urls command be part of Django's standard library?