I'm reading up that most people do from django.conf import settings
but I don't undertstand the difference to simply doing import settings
in a django project file. Can anyone explain the difference?
import settings
will import the first python module named settings.py
found in sys.path
. Usually (in default django setups) it allows access only to your site defined settings file, which overwrites django default settings (django.conf.global_settings
).
So, if you try to access a valid django setting not specified in your settings file you will get an error.
django.conf.settings
is not a file but a class making an abstraction of the concepts, default settings and your site-specific settings. Django also does other checks when you use from django.conf import settings
.
You can also find it in the django docs.
Hope this helps.