Flask python -从配置文件导入redis

rnmwe5a2  于 2023-10-15  发布在  Redis
关注(0)|答案(2)|浏览(235)

我有2个环境,其中一个环境是clusterdisabled,另一个是cluster enabled。为了解决这个问题,我在config中添加了一个键。

redis_class = "Redis"

另一个环境有

redis_class = "RedisCluster"

init.py

from myapp.config import config
 #this printed the value 
 print(config["redis_class")
 redis_class = config["redis_class"]
 from redis import redis_class as Redis

www.example.com中的最后一行init.py抛出了一个错误。如何从config导入类?
Thanks in advance

mwg9r5ms

mwg9r5ms1#

你可以试试这样的东西

redis_class = config["redis_class"]
if redis_class == 'Redis':
    from redis import Redis
else:
    from redis import RedisCluster as Redis

或者将上面的代码保存在另一个文件(config.py)中,然后在主文件中直接导入。
from config import Redis
如果不使用if-condition,您可以像这样尝试使用getattr

import redis

redis_class = config["redis_class"]
Redis = getattr(redis, redis_class) 

# use the redis class as normal
Redis(...)
2sbarzqh

2sbarzqh2#

__import__("redis", fromlist=["RedisCluster"])

相关问题