0

runserverコマンドラインから、またはgunicornコマンドラインから直接実行すると、Web サイトは正常に動作します。ただし、 Heroku のドキュメントで指定されているように Foreman を使用して gunicorn を実行しようとすると:

web: gunicorn myapp.wsgi

その後、私の Web サイトの静的ファイルに突然アクセスできなくなりました。に行こうとしている

http://0.0.0.0:5000/static/js/jquery-1.9.1.min.js

このエラーメッセージのみが表示されます:

Using the URLconf defined in myapp.urls, Django tried these URL patterns, in this order:

    ^$ [name='homepage']
    ...

The current URL, static/js/jquery-1.9.1.min.js, didn't match any of these.

You're seeing this error because you have DEBUG = True in your Django settings file. Change that to False, and Django will display a standard 404 page.

私が言ったように、gunicorn または runserver を直接呼び出す場合、または を使用runserverする場合でも、静的ファイルには確実にアクセスできるforeman startので、静的ファイルの設定とはあまり関係がないと思いますか?

また、 foreman で gunicorn を実行してDEBUG = Falseも、500 エラー以外は何も返されません。Sentry にも何も記録されていないため、何が問題なのかわかりません。また、gunicorn や runserver を単独で使用したり、runserver を foreman と併用したりしても問題なく動作します。

この問題を解決するために私ができることはありますか?

4

2 に答える 2

1

静的ファイルが取得されなかった理由はわかりませんが、DEBUG = False500 エラーは単に私のALLOWED_HOSTS設定が原因であり、それを修正してもそれ以上の問題は発生しませんでした。

于 2013-04-10T08:18:47.657 に答える
0

gunicorn で実行中に設定を出力して、メディア URL が正しく、js ファイルに実際にアクセスできるかどうかを確認します。

500 エラーに関しては、おそらく 404 ページを表示しようとしていますが、そのためのテンプレートがないため、500 が発生し、古い django の癖があります ;)

PS。これはすべて、そのエラーで正しい URL パターンがあることを確認したことを前提としています

于 2013-04-08T07:04:15.363 に答える