我正在使用 django 1.9 和 Python 3。我已经安装了 python-memcached
并且当我尝试 cache.set("foo", "bar")
我得到这个错误:
TypeError: a bytes-like object is required, not 'str'
知道为什么会这样吗?我确保设置中间件并将缓存添加到 settings.py
最佳答案
错误来自 Python 3 中的字符串/unicode 更改。在 Python 2 中,字符串类型是字节,但在 Python 3 中,字符串类型与字节类型是分开的 - 这导致了您看到的错误。
如果您使用带有 memcached 的 Python 3.x,请使用 python3-memcached
包。它是 python-memcached
的替代品。
pip install python3-memcached
关于django cache.set() 类型错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35374345/