0

我正在开发一个 django 项目,我需要使用 Docker 运行它。在这个项目中,我有多个.env文件:.env.dev.env.prod.env.staging。有没有正确的方法来使用包 python-decouple 管理所有这些文件?我一直在寻找一种解决方法来应对这一挑战,但没有找到任何答案,甚至在官方文档中也没有。

我可以使用类似的东西:

# dont works that way, it's just a dummie example
python manage.py runserver --env-file=.env.prod

或者可能以任何方式设置或覆盖我需要使用的文件?

4

1 回答 1

1

而不是导入 decouple.config 并执行通常的操作config('SOME_ENV_VAR'),而是使用创建一个新decouple.Config对象RepositoryEnv('/path/to/.env.prod')

from decouple import Config, RepositoryEnv

DOTENV_FILE = '/home/user/my-project/.env.prod'
env_config = Config(RepositoryEnv(DOTENV_FILE))

# use the Config().get() method as you normally would since 
# decouple.config uses that internally. 
# i.e. config('SECRET_KEY') = env_config.get('SECRET_KEY')
SECRET_KEY = env_config.get('SECRET_KEY')
于 2021-11-17T15:47:11.650 回答