2015-09-24 24 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