この質問は何度か聞かれるようですが、修正できません。ヘロクでDjangoの静的ファイルが見つからない(ホワイトニングあり)
DEBUG = False
を使用して、生産時にdjangoアプリケーションをデプロイしました。私はallowed_host
を設定しました。 私は{% load static from staticfiles %}
を使用して静的ファイルを読み込みました。
...
`cache_name = self.clean_name(self.hashed_name(name))
File "/app/.heroku/python/lib/python3.5/site- packages/django/contrib/staticfiles/storage.py", line 94, in hashed_name (clean_name, self))
...
ValueError: The file ‘app/css/font.css’ could not be found with <whitenoise.django.GzipManifestStaticFilesStorage object at 0x7febf600a7f0>.`
に
(メールで)BASE_DIR = os.path.dirname(os.path.dirname(__file__))
PROJECT_ROOT = os.path.dirname(os.path.abspath(__file__))
STATIC_ROOT = os.path.join(PROJECT_ROOT, 'staticfiles')
STATIC_URL = '/static/'
STATICFILES_DIRS = (
os.path.join(PROJECT_ROOT, 'static'),
)
STATICFILES_STORAGE = 'whitenoise.django.GzipManifestStaticFilesStorage'
しかし、私はエラー500を持って、このトレースバックを持って、私はheroku run python manage.py collectstatic --noinput
を実行すると、すべてがOKと思われる:私は正確にHerokuのドキュメントで推薦した設定を書き
276 static files copied to '/app/annuaire/staticfiles', 276 post-processed.
誰でも私を助けるアイデアはありますか?
おかげ
EDIT:BASE_DIRため
annuaire
|-- /annuaire
|-- -- /settings.py
|-- /app
|-- -- /static/...`
wsgi.py
from django.core.wsgi import get_wsgi_application
from whitenoise.django import DjangoWhiteNoise
application = get_wsgi_application()
application = DjangoWhiteNoise(application)
Djangoは唯一通常、その特定の関数を呼び出します=真。 DEBUG = Falseでローカルでアプリをテストし、 'collectstatic'を実行してから' runserver'を実行し、そのエラーが発生したかどうかを確認することをお勧めします。その特定のファイルをコミットしていない可能性がありますか? –
申し訳ありません!デバッグがFalseの場合、正しいです! – vpoulain
'/ app/annuaire/staticfiles'と同じであることを確認するために 'STATIC_ROOT'を印刷しましたか? – agconti