id,summary,reporter,owner,description,type,status,component,version,severity,resolution,keywords,cc,stage,has_patch,needs_docs,needs_tests,needs_better_patch,easy,ui_ux 21674,django.utils.module_loading.import_by_path considered harmful,Aymeric Augustin,Berker Peksag,"The purpose of this function is to import whatever its argument points to. If it fails, it should raise ImportError, signalling that an import failed. Unfortunately, it catches exceptions, including ImportErrors, and re-raises ImproperlyConfigured. Such exception masking makes it needlessly hard to diagnose circular import problems, because it makes it look like the problem comes from inside Django. It becomes supremely perverse when some code in Django catches ImproperlyConfigured and things go wrong further down the line. I understand that the original intent was to provide more frienly error messages, but I believe that ImportError is a perfectly fine and suitable exception and that replacing it with a more generic one is a net loss. (I know I'm attacking an old dogma, but this is an easy step in the long standing ""improved error reporting"" project.)",Bug,closed,Utilities,dev,Normal,fixed,,berker.peksag@…,Ready for checkin,1,0,0,0,0,0