Login

better localsettings import

Author:
andrew
Posted:
July 11, 2015
Language:
Python
Version:
Not specified
Score:
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 *

More like this

  1. Template tag - list punctuation for a list of items by shapiromatron 3 months, 1 week ago
  2. JSONRequestMiddleware adds a .json() method to your HttpRequests by cdcarter 3 months, 2 weeks ago
  3. Serializer factory with Django Rest Framework by julio 10 months, 1 week ago
  4. Image compression before saving the new model / work with JPG, PNG by Schleidens 11 months ago
  5. Help text hyperlinks by sa2812 11 months, 3 weeks ago

Comments

Please login first before commenting.