如何将列表/元组传递给Django

时间:2018-12-03 18:00:58

标签: django python-3.x

有人知道如何将列表传递到环境变量中吗?目前,我正在尝试将代码列表放入我的settings.py文件中。

我的.env文件中有这个文件:

ALLOWED_CODES='AB01', 'AB02'

在我的settings.py中,这就是我所拥有的:

ALLOWED_CODES = [os.environ.get('ALLOWED_POSTCODES')]

如果运行docker-compose config,它将解析为:

ALLOWED_CODES: '''AB01'', ''AB02'''

我想要的是返回.env文件中定义的确切列表。

1 个答案:

答案 0 :(得分:3)

os.environ.get('ALLOWED_POSTCODES')将始终返回一个字符串。您可以将其转换为列表。

ALLOWED_CODES='AB01', 'AB02'

如果您可以将.env文件更改为

ALLOWED_CODES=AB01,AB02

那你就可以做

ALLOWED_CODES = os.environ.get('ALLOWED_POSTCODES').split(",")

您可能可以将当前值解析到所需列表中,但是字符串操作会更困难。

您可能想使用一个可以为您处理.env个文件的软件包,例如django-environ