Docker 的 Django Redis 问题:InvalidCacheBackendError:没有名为“django.core.cache.backends.redis”的模块

Yul*_*rov 3 django redis-cache docker

我想通过 docker 使用 Redis 进行缓存,但出现此错误。

django.core.cache.backends.base.InvalidCacheBackendError: Could not find backend 'django.core.cache.backends.redis.RedisCache': No module named 'django.core.cache.backends.redis'
Run Code Online (Sandbox Code Playgroud)

我的缓存设置是这样的

CACHES = {
    'default': {
        'BACKEND': 'django.core.cache.backends.redis.RedisCache',
        'LOCATION': 'redis://127.0.0.1:6379',
    }
}
Run Code Online (Sandbox Code Playgroud)

我从 Django 文档中获取了它们。

我使用这个命令在 docker 中启动一个 Redis 实例。

docker run --name some-redis -d redis
Run Code Online (Sandbox Code Playgroud)

小智 5

Django 在 4.0 版本中引入了 Redis 后端。 https://docs.djangoproject.com/en/4.1/topics/cache/#redis

确保 docker 容器中的 Django 版本至少为 4.0。

或者,如果您不想升级 Django,您可以使用django-redis.