This is currently a problem all over in the Django codebase, and I'd love to see a generic/reusable approach at solving this everywhere.
On Jun 14, 1:19 pm, Michael Blume <blume.m...@gmail.com> wrote: > In RegexURLPattern._get_callback, we attempt to fetch the callable named by > the URL pattern, and catch a possible ImportError if this fails. If so, we > raise ViewDoesNotExist. > > try: > self._callback = get_callable(self._callback_str) > except ImportError, e: > mod_name, _ = get_mod_func(self._callback_str) > raise ViewDoesNotExist("Could not import %s. Error was: %s" % > (mod_name, str(e))) > > The trouble is that the view we're importing may indeed exist, and may > *itself* make a failed import (say of a model, or some library function), in > which case ViewDoesNotExist becomes a badly misleading exception name, and > the resulting traceback is cut unhelpfully short. I've noodled a bit trying > to come up with a patch, but been stymied by the lack of information bubbled > up by python's ImportError extension (at least in 2.6). > > Personally, I don't think catching ImportError/raising ViewDoesNotExist adds > much value (we do catch it once in contrib/admindocs/views), so unless we > can come up with a way to ensure that it only triggers when the top-level > import fails, I'd recommend eliminating it. -- You received this message because you are subscribed to the Google Groups "Django developers" group. To post to this group, send email to django-developers@googlegroups.com. To unsubscribe from this group, send email to django-developers+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/django-developers?hl=en.