- July 11, 2015
- Not specified
- development staging production localsettings
- 1 (after 1 ratings)
Most people simply wrap "from localsettings import *" in a try/except ImportError block. That's what I've done for years, but recently came up with this better way.
The problem this snippet solves is that if your localsettings.py itself causes an ImportError somehow, that error will be silently swallowed and your intended localsettings will be ignored. Instead, we use
imp to first check if the module exists, then unconditionally try to import it.
1 2 3 4 5 6 7 8 9 10 11
# Do this `imp` dance so as to distinguish errors in # localsettings.py preventing it from being imported from # the absence of a file. import imp try: imp.find_module('localsettings') except ImportError: pass else: from localsettings import *