diff options
Diffstat (limited to 'debug_toolbar')
| -rw-r--r-- | debug_toolbar/panels/request_vars.py | 47 | ||||
| -rw-r--r-- | debug_toolbar/templates/debug_toolbar/panels/request_vars.html | 2 |
2 files changed, 24 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()] + }) 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 @@ <thead> <tr> <th>{% trans 'View Function' %}</th> + <th>{% trans 'URL Name' %}</th> <th>{% trans 'args' %}</th> <th>{% trans 'kwargs' %}</th> </tr> @@ -12,6 +13,7 @@ <tbody> <tr> <td>{{ view_func }}</td> + <td>{{ view_urlname }}</td> <td>{{ view_args|default:"None" }}</td> <td> {% if view_kwargs.items %} |
