django存储并为每个对象设置ACL

时间:2017-10-03 18:31:43

标签: django google-cloud-storage

我正在使用django-storages和google-cloud-storage后端。

我目前拥有以下内容。

from django.conf import settings
from storages.backends.gcloud import GoogleCloudStorage
from storages.utils import clean_name
from django.conf import settings

class PublicImageUploadStorage(GoogleCloudStorage):
    bucket_name = settings.IMAGES_BUCKET_NAME or None
    file_overwrite = settings.IMAGES_OVERWRITE or True

    def make_public(self, name):
        name = self._normalize_name(clean_name(name))
        blob = self._get_blob(self._encode_name(name))
        return blob.make_public()

这很慢,因为它按名称查找blob对象然后返回它以便我可以将其公开。

在将对象保存到Google存储空间之前,将对象ACL 设置为公开读取的最有效方法是什么?

0 个答案:

没有答案