11

メディア ファイルに S3 を使用する django プロジェクトで sorl サムネイルを使用すると、非常に奇妙なエラーが発生します。この回答https://stackoverflow.com/a/12848650/538191で指摘されているように設定を行いましたが、実際、他のすべてのメディア ファイルは正しく生成されています。

しかし、sorl のサムネイルを介して生成された画像については、このような URL を取得しています

https://he-s3.s3.amazonaws.com/cache/6f/cb/6fcb83175cb63f754fba9facec5dda7f.jpg?Signature=tgDEXyRV3gl3QtK%2BvwliqAtWqpM%3D&Expires=1357853609&AWSAccessKeyId=AKIAJLE6MUHDYS3HN6YQ

画像の URL に S3 ストレージ パスを追加しているが、その間に /media/ を追加していないため、問題は奇妙です。チェックすると

https://he-s3.s3.amazonaws.com/media/cache/6f/cb/6fcb83175cb63f754fba9facec5dda7f.jpg

画像は実際にそこに存在しますが、URL が間違って生成されているため、画像が壊れています。設定ファイルで、s3boto を使用して DEFAULT_FILE_STORAGE を宣言しました。

S3_URL = 'http://he-s3.s3-website-ap-southeast-1.amazonaws.com'
MEDIA_URL = S3_URL + '/media/'

sorl サムネイル画像のパスにメディアが含まれていない理由がわかりません。

どんな助けでも大歓迎です。

アップデート

問題は解決されるどころか、実際には悪化しています。私がしたことは、サムネイルで KVStore をクリアし、すべてのデータベースがクリアされたことです。問題が解決したと思ったので、うれしかったです。正しい URL を取得していました。しかし、その後ページを更新すると、再び間違った URL を取得していました。何が起こっているのかわかりません。サムネイル データベースをクリアすると、正しい URL が一度表示され、その後、間違った URL が再び表示されます。

4

1 に答える 1