AttributeError:' TemplateResponse'对象没有属性' context_data'

时间:2015-04-15 23:15:07

标签: python django caching

当我尝试访问缓存的网址时出现此错误。

我使用与Django一起缓存的per-view,当我第一次访问url时它工作正常,但是当它应该在缓存中时返回此错误。我使用FileBasedCache。这是我的设置:

CACHES = {
    'default': {
        'BACKEND': 'django.core.cache.backends.filebased.FileBasedCache',
        'LOCATION': '/var/tmp/django_cache',
        'TIMEOUT': 60,
        'OPTIONS': {
        'MAX_ENTRIES': 1000
        }
    }
}

MIDDLEWARE_CLASSES = settings.MIDDLEWARE_CLASSES + (
    'django.middleware.cache.UpdateCacheMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.middleware.cache.FetchFromCacheMiddleware'
)

在urls.py中是这样的:

...
cache_page(60*1)(MyClaseView.as_view())
...

我已经查了目录权限,一切都还好,那里有.djcache文件,所以它的写作

顺便说一下,这个错误来自中间件(process_template_response),我在其中向context_data添加了一些数据。

这是Traceback:

Traceback (most recent call last):
  File "/home/nexonet/.virtualenvs/esmidoctor/local/lib/python2.7/site-packages/django/core/handlers/base.py", line 136, in get_response
    response = middleware_method(request, response)
  File "/home/nexonet/webapps/esmidoctor/esmidoctor/apps/common/middleware/template_article.py", line 12, in process_template_response
    response.context_data['template_admin'] = 'panel/content/base.html'
AttributeError: 'TemplateResponse' object has no attribute 'context_data'

0 个答案:

没有答案