diff options
Diffstat (limited to 'debug_toolbar/panels/request_vars.py')
| -rw-r--r-- | debug_toolbar/panels/request_vars.py | 47 | 
1 files changed, 22 insertions, 25 deletions
| diff --git a/debug_toolbar/panels/request_vars.py b/debug_toolbar/panels/request_vars.py index 4f85052..ade23f3 100644 --- a/debug_toolbar/panels/request_vars.py +++ b/debug_toolbar/panels/request_vars.py @@ -1,3 +1,5 @@ +from django.core.urlresolvers import resolve +from django.http import Http404  from django.utils.translation import ugettext_lazy as _  from debug_toolbar.panels import DebugPanel @@ -12,12 +14,6 @@ class RequestVarsDebugPanel(DebugPanel):      template = 'debug_toolbar/panels/request_vars.html'      has_content = True -    def __init__(self, *args, **kwargs): -        DebugPanel.__init__(self, *args, **kwargs) -        self.view_func = None -        self.view_args = None -        self.view_kwargs = None -      def nav_title(self):          return _('Request Vars') @@ -30,31 +26,32 @@ class RequestVarsDebugPanel(DebugPanel):      def process_request(self, request):          self.request = request -    def process_view(self, request, view_func, view_args, view_kwargs): -        self.view_func = view_func -        self.view_args = view_args -        self.view_kwargs = view_kwargs -      def process_response(self, request, response):          self.record_stats({              'get': [(k, self.request.GET.getlist(k)) for k in self.request.GET],              'post': [(k, self.request.POST.getlist(k)) for k in self.request.POST],              'cookies': [(k, self.request.COOKIES.get(k)) for k in self.request.COOKIES],          }) - -        if hasattr(self, 'view_func'): -            if self.view_func is not None: -                name = get_name_from_obj(self.view_func) -            else: -                name = '<no view>' - -            self.record_stats({ -                'view_func': name, -                'view_args': self.view_args, -                'view_kwargs': self.view_kwargs -            }) +        view_info = { +             'view_func': _('<no view>'), +             'view_args': 'None', +             'view_kwargs': 'None', +             'view_urlname': 'None', +         } +        try: +            match = resolve(self.request.path) +            func, args, kwargs = match +            view_info['view_func'] = get_name_from_obj(func) +            view_info['view_args'] = args +            view_info['view_kwargs'] = kwargs +            view_info['view_urlname'] = getattr(match, 'url_name', +                                                _('<unavailable>')) +        except Http404: +            pass +        self.record_stats(view_info)          if hasattr(self.request, 'session'):              self.record_stats({ -                'session': [(k, self.request.session.get(k)) for k in self.request.session.iterkeys()] -            }) +                'session': [(k, self.request.session.get(k)) +                            for k in self.request.session.iterkeys()] +                }) | 
