0

我有几个 Amazon S3 存储桶,我想创建多个文件字段以保存到相应的存储桶

我已经阅读了有关创建存储类并使用 S3Boto3Storage 的信息,但是这需要在设置级别指定存储桶名称,我无法为不同的用例设置不同的存储桶,示例如下:

class AmazonS3Storage(S3Boto3Storage):

    def get_available_name(self, name, max_length=None):
        return name

有人对此有解决方案吗?

4

1 回答 1

1

找到了解决办法。我在 S3Boto3Storage 中发现有一个“bucket_name”属性,我可以在扩展 S3Boto3Storage 时声明 bucket_name

class CustomStorageBucket1(S3Boto3Storage):
    bucket_name = "your_bucket_name_1"

class CustomStorageBucket2(S3Boto3Storage):
    bucket_name = "your_bucket_name_2"

模型内

test_image = models.ImageField(storage=CustomStorageBucket1(),
                                        upload_to='/test', max_length=50)
于 2019-03-18T03:47:58.847 回答