django cache.set() 类型错误

django cache.set() Type error

我正在使用 django 1.9 和 Python 3. 我已经安装了 python-memcached,当我尝试 cache.set("foo", "bar") 时,我得到了这个错误:

TypeError: a bytes-like object is required, not 'str'

知道为什么会这样吗?我确保设置了中间件并将缓存添加到 settings.py

错误来自string/unicode在Python3中的变化。在Python2中,字符串类型是字节,但在Python3中,字符串类型与字节分开类型 - 导致您看到的错误。

如果您将 Python 3.x 与 memcached 一起使用,请使用 python3-memcached 包。这是 python-memcached.

的替代品
pip install python3-memcached