Django + Google 存储(GCP)多桶

Django + Google Storage (GCP) multiple bucket

目前我使用 django 1.11 并使用 google 云平台(google 存储)来存储 pdf。

我的存储桶没有为 public 打开,一切都很好,但现在我需要存储 public 文件(拥有 link 的人可以访问上传的 pdf 文件)

我在想上传到 google 存储时我是否可以有选项(选择存储桶目标)?

可能是这样的代码

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 with multiple S3 Buckets

如果这个问题太基础了,我很抱歉,但直到现在我才找到答案

感谢您的关注,希望您能帮助我和遇到同样问题的其他人。

已解决 感谢 Thomas Plihibert

这段代码在我的项目中运行良好

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_name='other-bucket'))

希望这个问题对寻找相同案例的人有用。

未经测试,但逻辑上您可以这样做:

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