Skip to content

Instantly share code, notes, and snippets.

@theskumar
Created September 3, 2014 06:52
Show Gist options
  • Save theskumar/1af29df692a911a688c9 to your computer and use it in GitHub Desktop.
Save theskumar/1af29df692a911a688c9 to your computer and use it in GitHub Desktop.
Django: Attempt to import a class from a string representation.
def import_from_string(val):
"""
Attempt to import a class from a string representation.
From: https://github.com/tomchristie/django-rest-framework/blob/master/rest_framework/settings.py
"""
try:
# Nod to tastypie's use of importlib.
parts = val.split('.')
module_path, class_name = '.'.join(parts[:-1]), parts[-1]
module = importlib.import_module(module_path)
return getattr(module, class_name)
except ImportError as e:
msg = "Could not import '%s' for setting. %s: %s." % (val, e.__class__.__name__, e)
raise ImportError(msg)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment