2

私はジャンゴで奇妙な問題に直面しています。私はdjango-compressアプリを使用しています。debug が true になるまで、すべてがうまくいきます。debug=False を実行すると、404 の場合は内部サーバー エラーの問題に直面し、404 がない場合は js と css のないページに直面します。最悪の部分は、コンソールで次のエラーが発生することです。

UncompressableFileError: 'css/default.css' は COMPRESS_URL ('/static/') 経由でアクセスできず、圧縮できません [16/Jul/2012 17:17:05] "GET /static/img/favicon.ico HTTP/1.1" 500 59

このように、/static/ からアクセスできるすべての GET リクエストに対して 500 を示します

これで、js と css を取得しない理由が明確になりました。ただし、404 ページでエラーが発生する理由は明確ではありません。

私もdjango-compressを無効にして有効にしてみましたが、通常のページでも有効にすると404エラーが表示されます

すべての /static/ で 500 エラーが発生する原因と、404 ページで内部サーバー エラーが発生する理由を教えてください。

4

4 に答える 4

7

DEBUG = TrueDjango が静的ファイルを提供するとき。/static/これは、各 Django アプリのディレクトリで静的ファイルを見つけることができることを意味します。つまり、django-compressor は、圧縮する必要のある各静的ファイルを見つけることができます。

DEBUG = FalseDjango が静的ファイルを提供しなくなったが、Web サーバーによって提供される必要がある場合。これは、STATIC_ROOTディレクトリ内のすべての静的ファイルを提供することによって行われます (多くの場合/static/)。つまり、Django アプリのすべての静的ファイルをそこに配置する必要があります。

collectstaticこれは、コマンドで実行できます( Django ドキュメントの「静的ファイル アプリ」を参照してください)。そのコマンドを実行すると、すべての静的ファイルが配置されSTATIC_ROOT、django-compressor が再びファイルを見つけることができるようになります。これにより、静的ファイルで発生する 404 エラーが解決され、django-compressor が機能すると、500 エラーは発生しなくなります。

于 2012-07-16T12:31:09.063 に答える
5

Django >= 1.5 の場合、この問題に陥った場合は、設定が正しく設定されていることを確認してくださいALLOWED_HOSTS。その設定がないと、Django Compressor が に陥りUncompressableFileErrorます。

私たちは2014年にいることを知っており、この質問は少し古いです;)しかし、私は今日その問題に陥ります。私の特定のケースの解決策はそれであり、どこにも説明されていません.

それが他の誰かを助けることができることを願っています。

于 2014-01-13T14:48:42.593 に答える
1

django のメールの機能を開くことができます。以下のように setting.py を変更するだけです。

DEBUG = False
ADMINS = (
    ('username', 'username@example.com'),
)
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_HOST_USER = ''
EMAIL_HOST_PASSWORD = ''
EMAIL_PORT = 587
EMAIL_USE_TLS = True

500 が発生すると、django からメールが届きます。これがお役に立てば幸いです。

于 2014-04-28T03:04:15.507 に答える