2017-01-20 13 views
0

django-adminImageFieldで画像をサーバー側に読み込みます。 私のサーバーはHerokuに展開されています。画像URLは画像を取得しません

私は.png画像を参照して経路を検索していますが、正しく受信しました。 数分後、サーバーはイメージを取得しません。

サーバーのログには、ステータス200または301が表示されます。どちらの場合もイメージは表示されません。

誰でもこの状況を解決する方法を見つけるのを助けてくれますか?

EDIT:

私はそれは、画像ファイルを読み込んだ後ためIOErrorの発生することを知ります。 3つのファイルから2つのファイルが発生しています(第3のファイルは.pngで、正しく表示されており、サイズは少し小さくなっています)。これは必ずしも起こるとは限りません。パスに問題はありませんそのために。

EDIT 2:

私は私が働いていなかった、それを解決したと思った方法。 他のアイデアですか?

+2

パスに問題がある可能性が高くなります。サーバーからブラウザに渡されるモデルとシリアライザとimage-urlのMEDIA_URL、MEDIA_ROOT、ImageFieldコードを追加してください。 – Fian

+1

また、あなたがHeroku上にいる場合は、イメージをファイルシステム以外のどこかに保存する必要があります。 –

+0

なぜ私はそれをしてはいけないのですか?どこでそれを保存すべきですか? – LamaTo

答えて

0

Fianはコメントで述べたように:

をパスに何か問題があることが高い可能性があります。 モデルからMEDIA_URL、MEDIA_ROOT、ImageFieldコードを追加し、サーバからブラウザに渡される シリアライザとimage-urlを追加してください。

私が信じているのは、Herokuは静的なファイルをstaticfilesディレクトリに自動的にコピーすることです。

画像をアップロードしたとき、MEDIA_ROOTとMEDIA_URLの設定がありませんでした。 このため、アップロードしたすべての画像は一時的にBASE_ROOTに保存され、私は彼にアクセスできました。

Herokuは私のファイルを静的ディレクトリに集めてしまい、そのためにそれらのファイルとの接続が失われました。私は自分のBASE_DIRでそれらのファイルを探していて、それらはstaticfilesディレクトリに移動されました。

関連する問題