【问题标题】:Django Heroku collect static configuration errorDjango Heroku 收集静态配置错误
【发布时间】:2015-12-22 06:35:02
【问题描述】:

运行 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 here似乎处于工作状态: 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。

我即将推出我的应用程序,希望能帮助解决这个问题。谢谢!

【问题讨论】:

    标签: python django postgresql heroku


    【解决方案1】:

    必须需要 psycopg2 才能使用白噪声:

    在您的控制台中运行 pip install psycopg2, 然后确保您的 requirements.txt 文件中有psycopg2==2.5.3(或您下载的任何版本),

    然后尝试再次推送,看看它说了什么。

    【讨论】:

    • 谢谢!我将 psycopg2==2.5.3 添加到了我的 requirements.txt 中,并在推送到 heroku 期间安装了它。但是,我仍然收到 collectstatic 错误。现在,当我运行时,heroku 运行 python manage.py collectstatic --noinput,我收到此错误:OSError: [Errno 2] No such file or directory: '/app/viewelsewhere/static'。这个目录在哪里被引用?
    • 它是您应该放置所有静态文件的地方,因此在您的 viewelsewhere 文件中只需创建一个名为 static 的文件夹并将您的静态文件放入其中,如果它的样式不起作用,请尝试替换您的STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles') 的静态根目录,即使 heroku 文档另有说明
    猜你喜欢
    • 1970-01-01
    • 2012-10-30
    • 2012-07-08
    • 2020-09-11
    • 2022-01-09
    • 1970-01-01
    • 1970-01-01
    • 2016-08-08
    • 2014-09-22
    相关资源
    最近更新 更多