我有一个Django应用程序,在主页上显示用户上传的图像。我已经使用filepicker.io来处理上传,然后将它们存储在我的Amazon S3 Bucket中。
问题是,当我尝试在线提供它们时,它们无法正确显示,b / c filepicker在上传后会在文件名中添加一个唯一的键。
即调用上传的文件:milkshake.jpg。
使用filepicker上传到S3后,文件命名为: 97oj3Y12TIWylfhwlqtT_milkshake.jpg
此处托管示例文件:https://s3.amazonaws.com/mrt-static/97oj3Y12TIWylfhwlqtT_milkshake.jpg
点击网站上的图片时,其加载的网址为: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/'
答案 0 :(得分:2)
在模板代码中执行此操作的正确方法是:
<img src = "{{ movie.poster.url }}">