繁体   English   中英

使用django-storages boto3将文件动态上传到不同的s3存储桶中

[英]Upload files dynamically into different s3 buckets with django-storages boto3

我正在使用django-storages上传到s3存储桶。 但是我希望能够上传到与我在settings.py中的默认设置中设置不同的s3存储桶中。我的应用程序对每个存储桶都有不同的网页,并且可以访问其中的内容。 理想情况下,我想从网址中提取存储桶名称,并将其动态设置为代码中要上传文件的位置。

    def post(self, request, *args, **kwargs):
    if request.method == "POST":
        bucket = kwargs.get('bucket_name')
        form_model = Document()
        form_model.upload.storage = S3Boto3Storage(bucket=bucket)
        form = DocumentForm(request.POST, request.FILES)
        if form.is_valid():
            form.save()
    return HttpResponseRedirect("/bucket/"+bucket)

这只会保存到默认位置

    def post(self, request, *args, **kwargs):
    if request.method == "POST":
        bucket = kwargs.get('bucket_name')
        form = DocumentForm(request.POST, request.FILES)
        if form.is_valid():
            form.instance.upload.storage = S3Boto3Storage(bucket=bucket)
            form.save()
    return HttpResponseRedirect("/bucket/"+bucket)

找到了我自己的答案

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM