有人知道如何将列表传递给环境变量吗?目前我正在尝试将代码列表放入我的 settings.py 文件中。
我的 .env 文件中有这个:
ALLOWED_CODES='AB01', 'AB02'
Run Code Online (Sandbox Code Playgroud)
在我的 settings.py 这就是我所拥有的:
ALLOWED_CODES = [os.environ.get('ALLOWED_POSTCODES')]
Run Code Online (Sandbox Code Playgroud)
如果运行 docker-compose config 它被解析为:
ALLOWED_CODES: '''AB01'', ''AB02'''
Run Code Online (Sandbox Code Playgroud)
我想要的是它返回 .env 文件中定义的确切列表。
os.environ.get('ALLOWED_POSTCODES')将始终返回一个字符串。您可以将其转换为列表。
ALLOWED_CODES='AB01', 'AB02'
Run Code Online (Sandbox Code Playgroud)
如果您可以将.env文件更改为
ALLOWED_CODES=AB01,AB02
Run Code Online (Sandbox Code Playgroud)
那么你可以做
ALLOWED_CODES = os.environ.get('ALLOWED_POSTCODES').split(",")
Run Code Online (Sandbox Code Playgroud)
您可能可以将当前值解析为所需的列表,但字符串操作会更难。
您可能想要使用可以.env为您处理文件的包,例如django-environ.