From 963ec339d932d3888f79dea12d3d3a89cbd1f141 Mon Sep 17 00:00:00 2001 From: Jannis Leidel Date: Sat, 7 Apr 2012 03:10:10 +0200 Subject: Added resolved URL name to the Request var panel. Closes #214. --- debug_toolbar/panels/request_vars.py | 47 ++++++++++------------ .../debug_toolbar/panels/request_vars.html | 2 + 2 files changed, 24 insertions(+), 25 deletions(-) (limited to 'debug_toolbar') 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 = '' - - self.record_stats({ - 'view_func': name, - 'view_args': self.view_args, - 'view_kwargs': self.view_kwargs - }) + view_info = { + 'view_func': _(''), + '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', + _('')) + 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()] + }) diff --git a/debug_toolbar/templates/debug_toolbar/panels/request_vars.html b/debug_toolbar/templates/debug_toolbar/panels/request_vars.html index 07c223a..057f4de 100644 --- a/debug_toolbar/templates/debug_toolbar/panels/request_vars.html +++ b/debug_toolbar/templates/debug_toolbar/panels/request_vars.html @@ -5,6 +5,7 @@ {% trans 'View Function' %} + {% trans 'URL Name' %} {% trans 'args' %} {% trans 'kwargs' %} @@ -12,6 +13,7 @@ {{ view_func }} + {{ view_urlname }} {{ view_args|default:"None" }} {% if view_kwargs.items %} -- cgit v1.2.3