2017-04-23 70 views
0

我不得不將我的.env文件保存在我的項目根目錄之外的非標準路徑中(完全在一個單獨的目錄中)。如何使用python-decouple在預期路徑之外加載.env文件?

比方說,我有我的Django項目在/var/projects/my_project,但我有我的.env文件中/opt/envs/my-project/.envSECRET_KEY的存儲位置。在我settings.py文件,我想明確地使用.env文件在這條道路,這樣我還可以這樣做:

from decouple import config 
secret_key = config('SECRET_KEY') 

回答

4

我想通了。

使用RepositoryEnv('/path/to/env-file')創建一個新的decouple.Config對象,而不是導入decouple.config並執行通常的config('FOOBAR')

from decouple import Config, RepositoryEnv 

DOTENV_FILE = '/opt/envs/my-project/.env' 
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') 

希望這可以幫助別人。

相關問題