[英]Deploy Django on Heroku
我的python版本是3.5.2
Django 版本是 1.8.13
我制作了一個 django 應用程序並想部署到 heroku。
當我輸入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>
wsgi.py
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())
有什么我錯過的關鍵概念嗎?
[更新]
進程文件
web: gunicorn weather_station.wsgi --pythonpath weather_station
heroku config:set DJANGO_SETTINGS_MODULE=weather_station.settings
這是手動方式
我用這種方式來設置設置。 您可以參考django 女孩為 heroku 設置的 django 設置,或者最好按照heroku 文檔中的說明進行操作
這里BASE_DIR
settings
位置被local_settings
的BASE_DIR
覆蓋。 因此,嘗試將行下方移動到settings.py
最頂部。
try:
from .local_settings import *
except ImportError:
pass
我建議您遵循波紋管結構來和平處理本地和實時服務器的設置。
settings/
__init__.py
base.py
local.py
production.py
在base.py
為local
和production
添加通用設置
和 local.py
import * from .base.py
// Other settings required only for local server like
// Example DEBUG = True
生產.py
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")
到
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "project_name.settings.production"
要啟動本地服務器,請在啟動本地服務器時指出本地設置。
./manage.py runserver --settings=project_name.settings.local
希望這可以幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.