1

私はpython3.4でdjango 1.7を使用しています。私は最近 Memcached をインストールし、サイト キャッシュごとに python-memcached で使用しようとしています。しかし、settings.py でデフォルトのキャッシュ バックエンドを定義すると、アプリケーションが動作しなくなり、次のエラーがスローされます。

'str' does not support the buffer interface

インストールされたミドルウェアとトレースバックは次のとおりです。

Installed Middleware:
('debug_toolbar.middleware.DebugToolbarMiddleware',
 'django.contrib.sessions.middleware.SessionMiddleware',
 'django.middleware.common.CommonMiddleware',
 'django.middleware.csrf.CsrfViewMiddleware',
 'django.contrib.auth.middleware.AuthenticationMiddleware',
 'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
 'django.contrib.messages.middleware.MessageMiddleware',
 'django.middleware.clickjacking.XFrameOptionsMiddleware',
 'django.middleware.cache.UpdateCacheMiddleware',
 'django.middleware.common.CommonMiddleware',
 'django.middleware.cache.FetchFromCacheMiddleware')


Traceback:
File "C:\Python34\lib\site-packages\django\core\handlers\base.py" in get_response
  87.                 response = middleware_method(request)
File "C:\Python34\lib\site-packages\django\middleware\cache.py" in process_request
  148.         cache_key = get_cache_key(request, self.key_prefix, 'GET', cache=self.cache)
File "C:\Python34\lib\site-packages\django\utils\cache.py" in get_cache_key
  223.     headerlist = cache.get(cache_key, None)
File "C:\Python34\lib\site-packages\django\core\cache\backends\memcached.py" in get
  82.         val = self._cache.get(key)
File "C:\Python34\lib\site-packages\memcache.py" in get
  1002.         return self._get('get', key)
File "C:\Python34\lib\site-packages\memcache.py" in _get
  986.             return _unsafe_get()
File "C:\Python34\lib\site-packages\memcache.py" in _unsafe_get
  957.                 server.send_cmd("%s %s" % (cmd, key))
File "C:\Python34\lib\site-packages\memcache.py" in send_cmd
  1299.         self.socket.sendall(cmd + '\r\n')

Exception Type: TypeError at /ask/
Exception Value: 'str' does not support the buffer interface

問題点と解決策を教えてください。python-memcache バインディングは python3.4 では機能しませんか

4

3 に答える 3

0

私の場合、python-memcached をバージョン 1.59 に更新すると問題が解決しました。これは python3.4 と Django 1.11 で動作します。

于 2018-12-03T14:50:13.687 に答える