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
我正在使用 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