django memcahed密钥生成

django memcahed密钥生成,django,memcached,Django,Memcached,默认django缓存密钥生成器: def make_key(key, key_prefix, version): return ':'.join([key_prefix, str(version), key]) 我想改变一下: 在settings.py中 def make_key(key, key_prefix, version): return key CACHES = { 'default': { 'BACKEND': 'django.core.c

默认django缓存密钥生成器:

def make_key(key, key_prefix, version):
    return ':'.join([key_prefix, str(version), key])
我想改变一下:

在settings.py中

def make_key(key, key_prefix, version):
    return key

CACHES = {
    'default': {
        'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
        'LOCATION': '127.0.0.1:11211',
        'KEY_FUNCTION' : 'settings.make_key',
        }
}
但是django使用旧的本机函数生成密钥(前缀版本密钥)如何更改它?

试试:

def make_key(key, key_prefix, version):
    return key

CACHES = {
    'default': {
        'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
        'LOCATION': '127.0.0.1:11211',
        'KEY_FUNCTION' : make_key
        }
}
我知道文档中是“包含点路径的字符串”,但我在Django中看到,您也可以传递可调用对象(例如函数)

如果确实需要将其作为字符串传递,则应将此函数移动到另一个模块,并将
yourproject.module.make_key
设置为
key_函数
尝试:

def make_key(key, key_prefix, version):
    return key

CACHES = {
    'default': {
        'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
        'LOCATION': '127.0.0.1:11211',
        'KEY_FUNCTION' : make_key
        }
}
我知道文档中是“包含点路径的字符串”,但我在Django中看到,您也可以传递可调用对象(例如函数)

如果确实需要将其作为字符串传递,则应将此函数移动到另一个模块,并将
yourproject.module.make_key
设置为
key_函数