Hacker News new | ask | show | jobs
by tawhaki 5208 days ago
I assume it is so that the default values are used if no local_settings.py file exists, instead of aborting the program with an uncaught ImportError.
2 comments

If so, then for the benefit of any Python newbies here: "except ImportError" is the idiomatic way to handle this situation, it it clearly communicates intent, and prevents masking legitimate errors. One fairly common pattern is to try to import one module, and if it's not installed, to go for a backup. For example, if I need to parse JSON, the simplejson library is significantly faster than the (completely API-compatible) standard library "json" module:

    try:
        import simplejson as json
    except ImportError:
        import json
I'm pretty sure I've seen those exact four lines of code in the internals of Tornado and Flask, among others.
explicit is better than implicit

He should explicitly catch the ImportError