0

ユーザーがアップロードした画像をホームページに表示するDjangoアプリがあります。filepicker.io を使用してアップロードを処理し、Amazon S3 バケットに保存しました。

問題は、それらをオンラインで提供しようとすると、正しく表示されないことです。b/c filepicker は、アップロード後にファイルの名前に一意のキーを追加します。

つまり、アップロードされたファイルの名前は:milkshake.jpg です。

filepicker を使用して S3 にアップロードした後、ファイルの名前は次のようになります: 97oj3Y12TIWylfhwlqtT_milkshake.jpg

サンプル ファイルは、https ://s3.amazonaws.com/mrt-static/97oj3Y12TIWylfhwlqtT_milkshake.jpg でホストされています。

サイトの画像をクリックすると、読み込まれる URL は次のとおりです: https://s3.amazonaws.com/mrt-static/media/milkshake.jpg

自分のサイトでこれを提供するにはどうすればよいですか? 以下のコード

#models.py
class Movie(models.Model):
poster          = django_filepicker.models.FPFileField(upload_to='movie_poster')
#also, not uploading to the folder in the bucket (called movie_poster), just uploading into the bucket

#home.html
<img src = "{{ MEDIA_URL }}{{ movie.poster }}">

#settings.py
MEDIA_URL = 'https://s3.amazonaws.com/mrt-static/'
4

1 に答える 1

2

テンプレート コードでこれを行う正しい方法は、次のようにすることです。

<img src = "{{ movie.poster.url }}">
于 2012-11-14T02:02:31.453 に答える