Django Heroku收集静态配置错误

时间:2015-09-24 15:16:09

标签: python django postgresql heroku

运行git heroku push master时,我收到两条错误/消息:

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 docs,似乎处于正常工作状态: 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 个答案:

答案 0 :(得分:1)

使用whitenoise时必须使用psycopg2:

在你的控制台中运行pip install psycopg2 然后确保你的requirements.txt文件中有psycopg2==2.5.3(或者你下载的版本是什么),

然后再试一次,看看它说的是什么。