私は使用するを使用して自分のサイトにキャッシュを使用しています。これは、次のエラーを与えている:DjangoキャッシュバックエンドでMD5を使用して制御/スペース文字を使用できない
"Control/space characters not allowed (key="\xebw\x1b}\xae\xa3\xb8\x18\xc4\xb5\xce\x0c%\x13'\xed")".
私が使用していたコードを次のようになります。
def hash_key(key, key_prefix, version):
new_key = '%s :%s :%s' % (key_prefix, version, key)
if len(new_key) > 250:
m = hashlib.md5()
m.update(new_key)
new_key = m.digest()
return new_key
CACHES = {
'default': {
'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
'LOCATION': '127.0.0.1.11211',
'KEY_FUNCTION': hash_key,
}
}
このサイトにようこそ! [ツアー](https://stackoverflow.com/tour)と[ページの表示方法](https://stackoverflow.com/help/how-to-ask)をチェックしてください。まだ行っていない場合は、質の高い回答を引き付ける方法で質問しています。 – cxw