https://github.com/django/django/blob/master/django/conf/project_template/project_name/settings
.py-tpl
And third-party apps like django_extensions rely on BASE_DIR being set.
However, the main settings documentation page does not mention BASE_DIR at
all.
https://docs.djangoproject.com/en/3.0/ref/settings/
This led to confusion in the following case:
- Working with a legacy project that started around django 0.9.6 and has
never defined BASE_DIR, to no apparent ill effect.
- While using django_extensions, an exception is raised ('Settings' object
has no attribute 'BASE_DIR').
- Think: "Ok, that's fine, just need to define it, it's probably a newer
setting."
- Go to django docs to see the definition of BASE_DIR. Find nothing!
- Now confused. Is BASE_DIR unofficial? Why is django_extensions relying
on a non-standard setting?
It would be nice if BASE_DIR could be added to the settings documentation
to resolve this confusion.
--
Ticket URL: <https://code.djangoproject.com/ticket/31387>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.
* status: new => closed
* resolution: => invalid
Comment:
`BASE_DIR` is not a setting. It's a constant set and used only by a
default `settings.py` template.
--
Ticket URL: <https://code.djangoproject.com/ticket/31387#comment:1>