django-debug-toolbar icon indicating copy to clipboard operation
django-debug-toolbar copied to clipboard

Django gives errors when DjDT tries to render itself on JSON responses.

Open skorokithakis opened this issue 14 years ago • 1 comments

Perhaps DjDT needs to check the response MIME type and only insert itself on JSON responses. We're using a RestView class (http://djangosnippets.org/snippets/1071/) with the django-annoying @ajax_request decorator and DjDT tries to attach itself to the response, failing.

The traceback:

Traceback (most recent call last):
  File "/var/myproject/env/lib/python2.6/site-packages/django/contrib/staticfiles/handlers.py", line 68, in __call__
    return self.application(environ, start_response)
  File "/var/myproject/env/lib/python2.6/site-packages/django/core/handlers/wsgi.py", line 273, in __call__
    response = self.get_response(request)
  File "/var/myproject/env/lib/python2.6/site-packages/django/core/handlers/base.py", line 182, in get_response
    response = self.handle_uncaught_exception(request, resolver, sys.exc_info())
  File "/var/myproject/env/lib/python2.6/site-packages/django/core/handlers/base.py", line 203, in handle_uncaught_exception
    return debug.technical_500_response(request, *exc_info)
  File "/var/myproject/env/lib/python2.6/site-packages/django/core/handlers/base.py", line 178, in get_response
    response = middleware_method(request, response)
  File "/var/myproject/env/lib/python2.6/site-packages/debug_toolbar/middleware.py", line 106, in process_response
    smart_unicode(self.debug_toolbars[request].render_toolbar() + self.tag))
  File "/var/myproject/env/lib/python2.6/site-packages/debug_toolbar/toolbar/loader.py", line 78, in render_toolbar
    return render_to_string('debug_toolbar/base.html', context)
  File "/var/myproject/env/lib/python2.6/site-packages/django/template/loader.py", line 183, in render_to_string
    return t.render(Context(dictionary))
  File "/var/myproject/env/lib/python2.6/site-packages/django/template/base.py", line 123, in render
    return self._render(context)
  File "/var/myproject/env/lib/python2.6/site-packages/django/test/utils.py", line 57, in instrumented_test_render
    return self.nodelist.render(context)
  File "/var/myproject/env/lib/python2.6/site-packages/django/template/base.py", line 744, in render
    bits.append(self.render_node(node, context))
  File "/var/myproject/env/lib/python2.6/site-packages/django/template/debug.py", line 73, in render_node
    result = node.render(context)
  File "/var/myproject/env/lib/python2.6/site-packages/django/template/defaulttags.py", line 227, in render
    nodelist.append(node.render(context))
  File "/var/myproject/env/lib/python2.6/site-packages/django/template/defaulttags.py", line 311, in render
    return self.nodelist_true.render(context)
  File "/var/myproject/env/lib/python2.6/site-packages/django/template/base.py", line 744, in render
    bits.append(self.render_node(node, context))
  File "/var/myproject/env/lib/python2.6/site-packages/django/template/debug.py", line 73, in render_node
    result = node.render(context)
  File "/var/myproject/env/lib/python2.6/site-packages/django/template/debug.py", line 90, in render
    output = self.filter_expression.resolve(context)
  File "/var/myproject/env/lib/python2.6/site-packages/django/template/base.py", line 510, in resolve
    obj = self.var.resolve(context)
  File "/var/myproject/env/lib/python2.6/site-packages/django/template/base.py", line 653, in resolve
    value = self._resolve_lookup(context)
  File "/var/myproject/env/lib/python2.6/site-packages/django/template/base.py", line 698, in _resolve_lookup
    current = current()
  File "/var/myproject/env/lib/python2.6/site-packages/debug_toolbar/panels/request_vars.py", line 35, in content
    'view_func': '%s.%s' % (self.view_func.__module__, self.view_func.__name__),
TemplateSyntaxError: Caught AttributeError while rendering: 'RestView' object has no attribute '__name__'

skorokithakis avatar Aug 12 '11 16:08 skorokithakis

Ah, sorry, wrong repo (didn't notice the fork). Is there a way to reassign this to the master repo?

skorokithakis avatar Aug 12 '11 16:08 skorokithakis