Представление django с кластером redis не работает

Я использую кластер AWS elasticache redis. Однако я не могу реализовать свое текущее представление для использования кластера. Вот мое представление:

redis_conn = redis.Redis(host=settings.REDIS_HOST, port=settings.REDIS_PORT, db=0, decode_responses=True)

def orders(request):
    logger.info(f"Accessing the orders view for user: {request.user.username}")

    # Fetch user-specific cached shipment data
    processed_shipments_display_str = redis_conn.get(f"processed_shipments_display_{request.user.id}")
    all_shipments_display = []
    last_updated_at = "Not Available"

    if processed_shipments_display_str:
        cache_data = json.loads(processed_shipments_display_str)
        all_shipments_display = cache_data.get('shipments', [])
        last_updated_at = cache_data.get('timestamp', 'Not available')
    else:
        all_shipments_display = []
        last_updated_at = 'Not available'

    return render(request, 'app/orders.html', {
        'all_shipments': all_shipments_display,
        'last_updated_at': last_updated_at
    })

Каждый раз, когда я пытаюсь зайти на страницу, она просто загружается и ничего не происходит. Я не могу использовать redis-py-cluster (который работал изначально), поскольку моя версия redis несовместима с channels-redis и this.

Я также пробовал использовать

startup_nodes = [{"host": settings.REDIS_HOST, "port": settings.REDIS_PORT}]
    redis_conn = RedisCluster(startup_nodes=startup_nodes, decode_responses=True)

но затем я продолжаю получать ошибку
. AttributeError at /app/orders/

'dict' object has no attribute 'name'

Вот мой файл settings.py:

REDIS_HOST = os.getenv('REDIS_HOST', 'clustercfg.rediscluster.m0rn9y.use1.cache.amazonaws.com')
REDIS_PORT = os.getenv('REDIS_PORT', 6379)

CHANNEL_LAYERS = {
    "default": {
        "BACKEND": "channels_redis.pubsub.RedisPubSubChannelLayer",
        "CONFIG": {
            "hosts": [{
                "address": "rediss://clustercfg.rediscluster.m0rn9y.use1.cache.amazonaws.com:6379",
                "ssl_cert_reqs": None,
            }]
        },
    },
}

CACHES = {
    "default": {
        "BACKEND": "django_redis.cache.RedisCache",
        "LOCATION": "rediss://clustercfg.rediscluster.m0rn9y.use1.cache.amazonaws.com:6379",
        "OPTIONS": {
            "CLIENT_CLASS": "django_redis.client.DefaultClient",
            "SSL_CERT_REQS": None,
        }
    }
}

Любая помощь будет оценена по достоинству. Спасибо.

Вернуться на верх