'Return a Context instance containing traceback information.'

def get_traceback_data(self):

    if (self.exc_type and issubclass(self.exc_type, TemplateDoesNotExist)):
        from django.template.loader import template_source_loaders
        self.template_does_not_exist = True
        self.loader_debug_info = []
        if (template_source_loaders is None):
            template_source_loaders = []
        for loader in template_source_loaders:
            try:
                source_list_func = loader.get_template_sources
                template_list = [{u'name': t, u'status': self.format_path_status(t)} for t in source_list_func(str(self.exc_value))]
            except AttributeError:
                template_list = []
            loader_name = ((loader.__module__ + u'.') + loader.__class__.__name__)
            self.loader_debug_info.append({u'loader': loader_name, u'templates': template_list})
    if (settings.TEMPLATE_DEBUG and hasattr(self.exc_value, u'django_template_source')):
        self.get_template_exception_info()
    frames = self.get_traceback_frames()
    for (i, frame) in enumerate(frames):
        if (u'vars' in frame):
            frame[u'vars'] = [(k, force_escape(pprint(v))) for (k, v) in frame[u'vars']]
        frames[i] = frame
    unicode_hint = u''
    if (self.exc_type and issubclass(self.exc_type, UnicodeError)):
        start = getattr(self.exc_value, u'start', None)
        end = getattr(self.exc_value, u'end', None)
        if ((start is not None) and (end is not None)):
            unicode_str = self.exc_value.args[1]
            unicode_hint = smart_text(unicode_str[max((start - 5), 0):min((end + 5), len(unicode_str))], u'ascii', errors=u'replace')
    from django import get_version
    c = {u'is_email': self.is_email, u'unicode_hint': unicode_hint, u'frames': frames, u'request': self.request, u'filtered_POST': self.filter.get_post_parameters(self.request), u'settings': get_safe_settings(), u'sys_executable': sys.executable, u'sys_version_info': (u'%d.%d.%d' % sys.version_info[0:3]), u'server_time': datetime.datetime.now(), u'django_version_info': get_version(), u'sys_path': sys.path, u'template_info': self.template_info, u'template_does_not_exist': self.template_does_not_exist, u'loader_debug_info': self.loader_debug_info}
    if self.exc_type:
        c[u'exception_type'] = self.exc_type.__name__
    if self.exc_value:
        c[u'exception_value'] = smart_text(self.exc_value, errors=u'replace')
    if frames:
        c[u'lastframe'] = frames[(-1)]
    return c
