My case was passing custom form class to login view. The solution can be the same we've done with context (bypass objects with broken unicode) but with this solution we'll hide some view arguments.
Full traceback:
Traceback (most recent call last):
File "/opt/local/lib/python2.5/site-packages/django/core/servers/basehttp.py", line 279, in run
self.result = application(self.environ, self.start_response)
File "/opt/local/lib/python2.5/site-packages/django/core/servers/basehttp.py", line 651, in call
return self.application(environ, start_response)
File "/opt/local/lib/python2.5/site-packages/django/core/handlers/wsgi.py", line 245, in call
response = middleware_method(request, response)
File "/opt/local/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/debug_toolbar/middleware.py", line 91, in process_response
response.content = replace_insensitive(smart_unicode(response.content), u'', smart_unicode(self.debug_toolbars[request].render_toolbar() + u''))
File "/opt/local/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/debug_toolbar/toolbar/loader.py", line 72, in render_toolbar
'BASE_URL': self.request.META.get('SCRIPT_NAME', ''),
File "/opt/local/lib/python2.5/site-packages/django/template/loader.py", line 108, in render_to_string
return t.render(context_instance)
File "/opt/local/lib/python2.5/site-packages/django/test/utils.py", line 29, in instrumented_test_render
return self.nodelist.render(context)
File "/opt/local/lib/python2.5/site-packages/django/template/init.py", line 779, in render
bits.append(self.render_node(node, context))
File "/opt/local/lib/python2.5/site-packages/django/template/debug.py", line 71, in render_node
result = node.render(context)
File "/opt/local/lib/python2.5/site-packages/django/template/defaulttags.py", line 155, in render
nodelist.append(node.render(context))
File "/Users/kmike/dev/tur/smart_tags/templatetags/smart_if.py", line 213, in render
return self.nodelist_true.render(context)
File "/opt/local/lib/python2.5/site-packages/django/template/init.py", line 779, in render
bits.append(self.render_node(node, context))
File "/opt/local/lib/python2.5/site-packages/django/template/debug.py", line 71, in render_node
result = node.render(context)
File "/opt/local/lib/python2.5/site-packages/django/template/debug.py", line 87, in render
output = force_unicode(self.filter_expression.resolve(context))
File "/opt/local/lib/python2.5/site-packages/django/template/init.py", line 546, in resolve
obj = self.var.resolve(context)
File "/opt/local/lib/python2.5/site-packages/django/template/init.py", line 687, in resolve
value = self._resolve_lookup(context)
File "/opt/local/lib/python2.5/site-packages/django/template/init.py", line 722, in _resolve_lookup
current = current()
File "/opt/local/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/debug_toolbar/panels/request_vars.py", line 40, in content
return render_to_string('debug_toolbar/panels/request_vars.html', context)
File "/opt/local/lib/python2.5/site-packages/django/template/loader.py", line 108, in render_to_string
return t.render(context_instance)
File "/opt/local/lib/python2.5/site-packages/django/test/utils.py", line 29, in instrumented_test_render
return self.nodelist.render(context)
File "/opt/local/lib/python2.5/site-packages/django/template/init.py", line 779, in render
bits.append(self.render_node(node, context))
File "/opt/local/lib/python2.5/site-packages/django/template/debug.py", line 81, in render_node
raise wrapped
TemplateSyntaxError: Caught an exception while rendering: unbound method unicode() must be called with EmailAuthenticationForm instance as first argument (got nothing instead)
Original Traceback (most recent call last):
File "/opt/local/lib/python2.5/site-packages/django/template/debug.py", line 71, in render_node
result = node.render(context)
File "/opt/local/lib/python2.5/site-packages/django/template/defaulttags.py", line 155, in render
nodelist.append(node.render(context))
File "/opt/local/lib/python2.5/site-packages/django/template/debug.py", line 87, in render
output = force_unicode(self.filter_expression.resolve(context))
File "/opt/local/lib/python2.5/site-packages/django/utils/encoding.py", line 71, in force_unicode
s = unicode(s)
TypeError: unbound method unicode() must be called with EmailAuthenticationForm instance as first argument (got nothing instead)