diff options
| author | Chris Adams | 2010-01-14 08:02:49 -0800 | 
|---|---|---|
| committer | Rob Hudson | 2010-01-14 08:02:49 -0800 | 
| commit | 4baa51e0be674428a2314e08efe43628184bc42a (patch) | |
| tree | d3584431a61ad1fbdf885e024950f472b89ff21e /debug_toolbar/panels/cache.py | |
| parent | fba93b813f90430545d5acaa25ef218f792360ab (diff) | |
| download | django-debug-toolbar-4baa51e0be674428a2314e08efe43628184bc42a.tar.bz2 | |
Template panel context cleanup.
All panels get a copy of the template context when created and use an updated
copy when rendering so they can have full access to context vars and avoid
making changes to the shared context.
Signed-off-by: Rob Hudson <rob@cogit8.org>
Diffstat (limited to 'debug_toolbar/panels/cache.py')
| -rw-r--r-- | debug_toolbar/panels/cache.py | 14 | 
1 files changed, 8 insertions, 6 deletions
| diff --git a/debug_toolbar/panels/cache.py b/debug_toolbar/panels/cache.py index 61b5690..5617ec2 100644 --- a/debug_toolbar/panels/cache.py +++ b/debug_toolbar/panels/cache.py @@ -76,7 +76,8 @@ class CacheDebugPanel(DebugPanel):      name = 'Cache'      has_content = True -    def __init__(self): +    def __init__(self, *args, **kwargs): +        super(self.__class__, self).__init__(*args, **kwargs)          # This is hackish but to prevent threading issues is somewhat needed          if isinstance(cache.cache, CacheStatTracker):              cache.cache.reset() @@ -95,9 +96,10 @@ class CacheDebugPanel(DebugPanel):          return ''      def content(self): -        context = dict( -            cache_calls = len(self.cache.calls), -            cache_time = self.cache.total_time, -            cache = self.cache, -        ) +        context = self.context.copy() +        context.update({ +            'cache_calls': len(self.cache.calls), +            'cache_time': self.cache.total_time, +            'cache': self.cache, +        })          return render_to_string('debug_toolbar/panels/cache.html', context) | 
