Django + Google Storage (GCP) с несколькими ведрами
На данный момент я использую django 1.11 и использую облачную платформу google (google storage) для хранения pdf.
мой bucket не открыт для публики и все было хорошо, но теперь мне нужно хранить публичный файл (люди со ссылкой могут получить доступ к загруженному pdf файлу)
Я подумал, возможно ли, чтобы у меня были опции (выбор цели ведра) при загрузке в google storage?
Может быть, что-то вроде этих кодов
from django.db import models
from storages.backends.s3boto import S3BotoStorage
class MyModel(models.Model):
file_1 = models.FileField() # Uses default storage
file_2 = models.FileField(storage=S3BotoStorage(bucket='other-bucket'))
Я хочу сделать то же самое, что и здесь, но используя GCP вместо AWS django-storages с несколькими S3 Buckets
Прошу прощения, если вопрос слишком простой, но до сих пор я так и не нашел ответа
Спасибо за внимание, и надеюсь, что вы сможете помочь мне и другим людям, которые столкнулись с такой же проблемой.
Не проверено, но логически вы можете сделать это :
from django.db import models
from storages.backends.gcloud import GoogleCloudStorage
class MyModel(models.Model):
file_1 = models.FileField() # Uses default storage
file_2 = models.FileField(storage= GoogleCloudStorage(bucket='other-bucket'))
Вы можете посмотреть, как работает бэкэнд здесь : https://github.com/jschneier/django-storages/blob/master/storages/backends/gcloud.py
Небольшое изменение - он должен использовать bucket_name вместо bucket.
Больше информации здесь https://github.com/jschneier/django-storages/issues/744#issuecomment-526243643