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 10 months, 1 week ago
  2. JSONRequestMiddleware adds a .json() method to your HttpRequests by cdcarter 10 months, 2 weeks ago
  3. Serializer factory with Django Rest Framework by julio 1 year, 5 months ago
  4. Image compression before saving the new model / work with JPG, PNG by Schleidens 1 year, 6 months ago
  5. Help text hyperlinks by sa2812 1 year, 6 months ago

Comments

Please login first before commenting.