2015-09-24 26 views
1

當運行git Heroku的推高手,我得到兩個錯誤/消息:Django的Heroku的收集靜態配置錯誤

Collectstatic configuration error. To debug, run: 
remote: $ heroku run python manage.py collectstatic --noinput 

我的應用程序,儘管這種成功部署。然後,我得到一個消息,PIP升級到最新版本(7.1.2),即使它已經升級:

You are using pip version 7.1.0, however version 7.1.2 is available. 
You should consider upgrading via the 'pip install --upgrade pip' command. 

我有兩個設置文件 - 一個用於本地和一個生產

settings.py

BASE_DIR = os.path.dirname(os.path.abspath(__file__)) 
STATIC_ROOT = 'staticfiles' 
STATIC_URL = '/static/'      
STATICFILES_DIRS = (
    os.path.join(BASE_DIR, 'static/'), 
) 

settings_production.py

STATICFILES_STORAGE = 'whitenoise.django.GzipManifestStaticFilesStorage' 

wsygi.py

import os 
os.environ.setdefault("DJANGO_SETTINGS_MODULE", 
"viewelsewhere.settings_production") 

from django.core.wsgi import get_wsgi_application 
from whitenoise.django import DjangoWhiteNoise 

application = get_wsgi_application() 
application = DjangoWhiteNoise(application) 

似乎根據的Heroku文檔這裏處於工作狀態: https://devcenter.heroku.com/articles/django-assets

如果我嘗試調試和運行:

heroku run python manage.py collectstatic --noinput 

我會出現以下錯誤:

django.core.exceptions.ImproperlyConfigured: Error loading psycopg2 module: No 
module named psycopg2 

據我所知,這與Postgresql綁定,但我在本地使用sqlite3,並希望在生產中使用Postgresql。

我很接近推動我的應用程序生活,並會愛這個問題的幫助。謝謝!

回答

1

以及psycopg2必須需要使用白噪聲:

運行pip install psycopg2在控制檯,然後 請確保您有psycopg2==2.5.3(或者不管是你下載的版本)在requirements.txt文件,

然後嘗試再次推送,看看它說什麼。

+0

謝謝!我將psycopg2 == 2.5.3添加到我的requirements.txt文件中,並在推送到heroku時安裝了它。但是,我仍然收到沉重的錯誤。現在,當我運行時,heroku運行python manage.py collectstatic --noinput,我得到這個錯誤:OSError:[Errno 2]沒有這樣的文件或目錄:'/ app/viewelsewhere/static'。這個目錄在哪裏被引用? – leurysworld

+0

這是你應該把你所有的靜態文件放在你的viewelse文件中的地方,只需要創建一個名爲static的文件夾,並將你的靜態文件放在裏面,如果它的樣式不起作用,試着用'STATIC_ROOT = os替換你的靜態根.path.join(BASE_DIR,'staticfiles')',即使heroku文檔另有說明 – romainm