【发布时间】:2018-02-08 14:38:12
【问题描述】:
我正在使用包装到 django-storages 逻辑中的 gcloud。我从来没有用我的存储桶的 url 路径提供服务:只提供了 DEFAULT_FILE_STORAGE 和 GS_BUCKET_NAME 这是我的 glcoud 项目和存储的名称。
我的问题是:如何获取图片的完整网址?我的图像使用相对 url 保存,这对数据库很有意义。但是我找不到任何关于如何获取对象存储的 django.core.files.storage 集合的基本 url 的正确文档。
一些文件存储对象要求一个有效的相对图像 url 以检索完整路径。但这不是我想要的:我只想(以编程方式)知道我(只有一个)存储桶的基本 url。模板{% image item.image %} 能够生成完整的 url,但从代码方面来看,它对我来说似乎完全模糊。
有什么帮助或建议吗?
【问题讨论】:
-
您介意分享一下您为什么需要此信息吗?
-
我正在编写我的 django 模型的 graphQL 实现。其中一些返回带有相对 url 的图像对象,但我需要重新创建完整的 url 路径。
-
调用后端存储方法获取完整的URL怎么样?
-
Django default_storage 库能够重建它(当它保存或显示图像时)。我想知道这些信息是否不透明或易于访问,因为文档有点晦涩难懂。 gcloud 后端存储是一切,但不是透明的。尽管如此,default_storage 还是能够获取信息。
-
default_storage在你的情况下是 gcloud 后端存储的一个实例。我猜这是Storage 的一个实例,所以你的API 可能应该序列化default_storage.url(item.image)而不是item.image的结果。
标签: django storage gcloud base-url