env文件与Python/Django的关系如何



我是Django/Python的新手,我正在努力弄清楚.env文件与Django项目之间的关系。

示例.env:

DATABASE_URL=postgres://postgres_user@db:xxxx/postgres_db
DJANGO_SETTINGS_MODULE=spare.settings.dev
SECRET_KEY=example

我确实找到了这个Stack Overflow的帖子,它提供了一些信息,但我希望能得到更多。

  • 所有Django项目都有.env文件吗
  • 非Django python项目是否有.env文件,或者它通常是与Django相关的东西
  • .env文件通常从哪里调用?换句话说,项目的其余部分如何知道.env文件的存在

我们只能猜测,因为我们无法访问您的实际环境。

.env文件可能是容器管理器的东西,也可能是python解耦库中的东西——为了达到实际效果,.env将在容器"启动"时用于填充环境变量,或者将用于填充实例设置。

Twelve Factor应用程序流行一种常见模式:第三项是"在环境中存储配置"。然后在settings.py文件中使用KEY = os.environ.get('KEY', 'defaul_value')。其想法是将实例设置与项目设置与代码分离。

最新更新