1
1
from django .template .loader import render_to_string
2
2
from django .utils .translation import ugettext_lazy as _
3
3
4
+ from debug_toolbar .middleware import DebugToolbarMiddleware
4
5
from debug_toolbar .panels import DebugPanel
5
6
from debug_toolbar .utils import get_name_from_obj
6
7
@@ -10,53 +11,58 @@ class RequestVarsDebugPanel(DebugPanel):
10
11
"""
11
12
name = 'RequestVars'
12
13
has_content = True
13
-
14
+
14
15
def __init__ (self , * args , ** kwargs ):
15
16
DebugPanel .__init__ (self , * args , ** kwargs )
16
17
self .view_func = None
17
18
self .view_args = None
18
19
self .view_kwargs = None
19
-
20
+
20
21
def nav_title (self ):
21
22
return _ ('Request Vars' )
22
-
23
+
23
24
def title (self ):
24
25
return _ ('Request Vars' )
25
-
26
+
26
27
def url (self ):
27
28
return ''
28
-
29
+
29
30
def process_request (self , request ):
30
31
self .request = request
31
-
32
+
32
33
def process_view (self , request , view_func , view_args , view_kwargs ):
33
34
self .view_func = view_func
34
35
self .view_args = view_args
35
36
self .view_kwargs = view_kwargs
36
-
37
- def content (self ):
38
- context = self .context .copy ()
39
-
40
- context .update ({
37
+
38
+ def process_response (self , request , response ):
39
+ self .stats = {
41
40
'get' : [(k , self .request .GET .getlist (k )) for k in self .request .GET ],
42
41
'post' : [(k , self .request .POST .getlist (k )) for k in self .request .POST ],
43
42
'cookies' : [(k , self .request .COOKIES .get (k )) for k in self .request .COOKIES ],
44
- })
43
+ }
44
+
45
45
if hasattr (self , 'view_func' ):
46
46
if self .view_func is not None :
47
47
name = get_name_from_obj (self .view_func )
48
48
else :
49
49
name = '<no view>'
50
-
51
- context .update ({
50
+
51
+ self . stats .update ({
52
52
'view_func' : name ,
53
53
'view_args' : self .view_args ,
54
54
'view_kwargs' : self .view_kwargs
55
55
})
56
-
56
+
57
57
if hasattr (self .request , 'session' ):
58
- context .update ({
58
+ self . stats .update ({
59
59
'session' : [(k , self .request .session .get (k )) for k in self .request .session .iterkeys ()]
60
60
})
61
-
61
+
62
+ toolbar = DebugToolbarMiddleware .get_current ()
63
+ toolbar .stats ['request_vars' ] = self .stats
64
+
65
+ def content (self ):
66
+ context = self .context .copy ()
67
+ context .update (self .stats )
62
68
return render_to_string ('debug_toolbar/panels/request_vars.html' , context )
0 commit comments