保存文件后获取URL(不使用django模型)

时间:2018-01-17 06:58:51

标签: django amazon-web-services amazon-s3 boto3 django-storage

我正在尝试检索保存后立即保存的文件的url。

请注意,我没有使用Django model来保存文件。我正在使用default_storage.save()手动保存文件。显然,使用模型可以很容易地检索网址。

目前我有path = default_storage.save(somefile, ContentFile(upload.file.read())) )。我正在使用AWS Amazon Web Services S3。文件正在保存但是我无法获取访问该文件的URL,我只是使用path取回文件名。我怎样才能获得网址?

如果是在本地我可以做类似的事情:

path = default_storage.save(somefile, ContentFile(upload.file.read()))
full_path = os.path.join(settings.MEDIA_ROOT, path)

获取网址/路径。有什么我能做的吗?

1 个答案:

答案 0 :(得分:0)

试试这个

settings.py

MEDIA_ROOT = URL_BUCKET_S3  #it can be another variable different from MEDIA_ROOT

views.py

path = default_storage.save(somefile, ContentFile(upload.file.read()))
full_path = settings.MEDIA_ROOT + path

非常相似的是我在项目中的工作方式