aboutsummaryrefslogtreecommitdiffstats
path: root/debug_toolbar/panels/request_vars.py
diff options
context:
space:
mode:
Diffstat (limited to 'debug_toolbar/panels/request_vars.py')
-rw-r--r--debug_toolbar/panels/request_vars.py47
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()]
+ })