我正在尝试通过查看两个django来创建自己的项目结构。项目结构看起来像这样
。环境
。本地
.django
.postgres
。生产
.django
.postgres
在本地的postgres中,列出了以下项目
POSTGRES_HOST=postgres
POSTGRES_PORT=5432
POSTGRES_DB=marketing
POSTGRES_USER=username
POSTGRES_PASSWORD=password
DATABASE_URL=postgres://username:password@localhost:5432/marketing
设置文件分为三个部分,分别为base.py, local.py and production.py
在base.py中,我将DATABASES
键配置如下
DATABASES = {
'default': env.db('DATABASE_URL'),
}
但是我遇到错误
django.core.exceptions.ImproperlyConfigured:设置DATABASE_URL 环境变量
虽然,我在.envs / .local / .postgres中有DATABASE_URL
,但遇到了错误。为什么呢?
答案 0 :(得分:1)
在.myfilename
中的变量之前添加导出。
export POSTGRES_HOST=postgres
export POSTGRES_PORT=5432
export POSTGRES_DB=marketing
export POSTGRES_USER=username
export POSTGRES_PASSWORD=password
export DATABASE_URL=postgres://username:password@localhost:5432/marketing
然后做
source .myfilename
答案 1 :(得分:0)
对于基于python的解决方案,请检查this link(对用户@falsetru的信用)。
基本上,添加
import os
with open('.envs/.local/.postgres') as fh:
os.environ.update(line.strip().split('=', 1) for line in fh)
在您的初始python脚本之一中,例如local.py
。