如何在Django中调试与缓存相关的代码

时间:2018-10-21 14:05:35

标签: django

我正在尝试使用memcache在Django项目中应用缓存。

CACHES = {
    'default': {
        'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
        'LOCATION': '127.0.0.1:11211',
    }
}

我正在按如下方式应用每个视图缓存:

from django.views.decorators.cache import cache_page

    url(r'^(?P<slug>[\w-]+)/default/$', cache_page(60 * 15)(default_view), name='default_view')

我正在尝试在IDE中编写代码。

我在lib / python3.6 / site-packages / django / views / decorators / cache.py

中找到了以下功能
def cache_page(timeout, *, cache=None, key_prefix=None):

    return decorator_from_middleware_with_args(CacheMiddleware)(
        cache_timeout=timeout, cache_alias=cache, key_prefix=key_prefix
    )

我试图在返回线处创建一个止损点。但是我发现刷新网址时代码不会在此行停止。

1 个答案:

答案 0 :(得分:0)

正如评论中已经提到的@Alasdair,如果您在cache_page正文中设置一个断点,则该断点将仅执行一次。

如果要遵循请求,则应在process_responseprocess_requestCacheMiddleware方法中设置断点