Improve the error message when the implicit settings configuration fails
|Reported by:||ncoghlan||Owned by:||Carl Meyer|
|Has patch:||no||Needs documentation:||no|
|Needs tests:||no||Patch needs improvement:||no|
Currently, the fairly generic ImportError message received when the implicit settings configuration fails has a couple of problems:
- it doesn't mention the possibility of using django.conf.settings.configure(). The current error message suggests that an environment variable pointing to a module is the only configuration mechanism Django supports.
- it doesn't mention *which setting* was being looked up when the implicit load failed
These combine to prevent someone that wants to use Django as a library from *incrementally* working out the minimum configuration they need to provide. Instead, they just get told "you need to provide some settings, but we're not going to give you any hints as to what settings are needed for the operations you're trying to use".
Adjusting the way the lazy initialisation is performed would go a long towards making django usable as a library - I could just start importing things, see what settings get accessed, look up those individual settings and provide appropriate values in a django.conf.settings.configure() call. With the current unhelpful error message, I have no idea where to even start.
Change History (4)
comment:1 Changed 4 years ago by
|Patch needs improvement:||unset|
|Triage Stage:||Unreviewed → Accepted|
comment:3 Changed 4 years ago by
|Component:||Uncategorized → Core (Other)|
|Owner:||changed from nobody to Carl Meyer|
|Type:||Uncategorized → Cleanup/optimization|