本地版本的Heroku-Django应用程序没有看到.env中的变量

时间:2017-10-11 17:01:45

标签: python django heroku environment-variables

我将Heroku-Django项目克隆到一台新的Windows计算机上。我在这台计算机上没有local_settings.py文件,因此我尝试将其设置为使用本地环境变量。

我使用heroku config:get SECRET_KEY -s >> .env将config var放入我的.env文件中。这似乎有效。 .env文件现在显示为SECRET_KEY='mysecretkey'。实际的密钥是正确的。

因为我在Windows上,所以我创建了一个名为Procfile.windows的单独Procfile,其内容为:web: python manage.py runserver 0.0.0.0:8000

在我的production_settings文件中,我有这一行:SECRET_KEY = os.environ.get('SECRET_KEY')。操作系统已导入。

当我运行heroku local -f Procfile.windows时,我最终会收到此错误:django.core.exceptions.ImproperlyConfigured: The SECRET_KEY setting must not be empty.但是,它确实找到.env文件:[OKAY] Loaded ENV .env File as KEY=VALUE Format

我错过了什么吗?

编辑:这是我的设置模块的样子:

__ init.py __:

from .base_settings import *
from .production_settings import *

try:
    from .local_settings import *
except:
    pass

base_settings.py:

import os, dj_database_url

# All the basic Dango/Heroku settings.
# SECRET_KEY is not defined here as I only define it in local_settings.py and production_settings.py.  

production_settings.py:

SECRET_KEY = os.environ.get('SECRET_KEY')
DEBUG = False
ALLOWED_HOSTS = ['.herokuapp.com', 'localhost']

0 个答案:

没有答案