我的python版本是3.5.2
Django版本是1.8.13
我制作了一个django应用程序并想要部署到heroku。
当我输入Error in GstPipelineFactory
然后本地服务器显示应用程序错误。
谷歌搜索后。
我修复了我的wsgi.py但仍然错误。
heroku open
wsgi.py
.ImproperlyConfigured: Requested setting CACHES, but settings are not configured.
You must either define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings.
"'DJANGO_SETTINGS_MODULE' environment variable must be set
"django.core.exceptions.ImproperlyConfigured: 'DJANGO_SETTINGS_MODULE' environment variable must be set before importing 'whitenoise.django'
File "/app/.heroku/python/lib/python3.5/site-packages/gunicorn/arbiter.py", line 506, in reap_workers raise HaltServer(reason, self.WORKER_BOOT_ERROR)
gunicorn.errors.HaltServer: <HaltServer 'Worker failed to boot.' 3>
我错过了任何关键概念吗?
[更新]
procfile
import os
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "weather_station.settings")
from django.core.wsgi import get_wsgi_application
from whitenoise.django import DjangoWhiteNoise
application = DjangoWhiteNoise(get_wsgi_application())
答案 0 :(得分:0)
heroku config:set DJANGO_SETTINGS_MODULE=weather_station.settings
这是手动方式
答案 1 :(得分:0)
我用这种方式设置设置。你可以参考这个 django settings for heroku by django girls或最好按照heroku docs
上的说明操作答案 2 :(得分:0)
此BASE_DIR
的{{1}}位置覆盖settings
的{{1}}。因此,请尝试将以下行移至BASE_DIR
的最顶层。
local_settings
我建议您按照波纹管结构来处理本地和实时服务器的安静设置。
settings.py
在try:
from .local_settings import *
except ImportError:
pass
settings/
__init__.py
base.py
local.py
production.py
和local
的常用设置
和local.py
production
production.py
base.py
将生产设置指向import * from .base.py
// Other settings required only for local server like
// Example DEBUG = True
。所以,改变
import * from .base.py
// Other settings required only for live server
// Example DEBUG = False
到
wsgi.py
在启动本地服务器时启动本地服务器指出本地设置。
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "project_name.settings")
希望这会有所帮助。