Django Google App Engine,如何使用 Google Cloud Storage 提供静态文件

标签 django google-app-engine google-cloud-platform google-cloud-storage

我有一个在 Google App Engine 上运行的 Django 应用程序。

我希望所有对静态内容的请求都不是由 Django 应用程序提供,而是一个 Google 云存储桶,我已经在该存储桶上上传了该应用程序需要的所有内容。

存储桶具有公共(public)访问权限,我可以通过浏览器查看静态内容,网址如下:

https://storage.googleapis.com/my-bucket/static/image.jpg

基本上我需要知道的是如何配置 app.yaml 文件以便像这样的请求:

https://www.mydjangoapp.com/static/image.jpg

将由存储服务: https://storage.googleapis.com/my-bucket/static/image.jpg

对于 Ngix/Apache,这是一个标准的事情,但我如何才能在 GCP 上实现这一点?我没有在文档中找到可行的解决方案。谢谢

最佳答案

您可以通过将 STATIC_URL 指向您的 Google Cloud Storage 存储桶,直接在您的 settings.py 配置文件中进行设置,如下所示:

STATIC_URL = 'https://storage.googleapis.com/my-bucket/static/'

然后,您的静态文件 URL 将根据此基本路径构建,并直接从 Google Cloud Storage 提供。

关于Django Google App Engine,如何使用 Google Cloud Storage 提供静态文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58042233/

相关文章:

google-cloud-platform - Datalab 用于访问数据的凭据是什么?

kubernetes - 更新图像标签以通过CloudBuilder提交SHA的最佳方法是什么?

python - Django - 使用 Cloudinary 清除上传的图像时出现 'TypeError: expected string or bytes-like object'

java - GAE 上生产应用程序的 Play 框架

javascript - Angular promise 差异本地主机与部署

azure - 使用 NiFi 从 Azure 到 Google Cloud Platform 的数据流

python - 在 Django 中缓存包含一些常量的函数

python - 使用django时如何在ajax调用中传递request.user?

python - Django 按 id 分组然后选择最大时间戳

java - Apache Thrift 可以在 Google App Engine 上使用吗?