【问题标题】:Serving media files on S3 for saleor在 S3 上为 saleor 提供媒体文件
【发布时间】:2019-09-28 03:36:34
【问题描述】:

我使用了 saleor,django store 并将其托管在谷歌云上,它工作正常。现在我想做的是在 S3 存储桶上托管媒体文件。我创建了一个存储桶并尝试了一些教程,但没有成功。我找不到任何完整的分步指南。如果有人可以帮助我解决这个问题,那将会很有帮助。

AWS_ACCESS_KEY_ID = os.environ.get('accessid')
AWS_SECRET_ACCESS_KEY = os.environ.get('accesskey')
AWS_STORAGE_BUCKET_NAME = os.environ.get('testbucket')

我按照这个指南进行了销售或 S3 集成:https://saleor.readthedocs.io/en/latest/deployment/s3.html

现在这是我创建存储桶并拥有AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEYAWS_STORAGE_BUCKET_NAME 的情况 有人可以从这里指导我如何在 S3 上为销售或提供媒体文件

【问题讨论】:

    标签: django amazon-s3 saleor


    【解决方案1】:

    Saleor 文档很好,但有点稀疏。按照这些说明,我有更多的运气(阅读安装部分,然后阅读 S3 ——这是 Saleor 无论如何都在使用的库):

    https://django-storages.readthedocs.io/en/latest/

    我首先将您的本地运行应用配置为使用 S3 作为其静态文件,然后运行 ​​python manage.py collectstatic 以获得更紧密的调试循环。

    【讨论】:

    • 我关注了他们的文档并询问了他们,​​但问题似乎出在 AWS_ACCESS_KEY_ID = os.environ.get('accessid') AWS_SECRET_ACCESS_KEY = os.environ.get('accesskey') AWS_STORAGE_BUCKET_NAME = os.environ.get('testbucket' 它没有接受价值。
    • 您是否真的在环境中设置了这些值?通常他们都是大写。像我在 heroku 中的被称为“AWS_ACCESS_KEY_ID”而不是“accessid”
    • AWS_SECRET_ACCESS_KEY=myaccesskey这样直接设置它们安全吗?
    【解决方案2】:

    创建存储桶后,您必须更新您的 media/static urls 并添加您的 aws 密钥(我建议通过 env 变量添加它们)。

    AWS_ACCESS_KEY_ID = os.environ.get('accessid') 
    AWS_SECRET_ACCESS_KEY = os.environ.get('accesskey') 
    AWS_STORAGE_BUCKET_NAME = os.environ.get('testbucket'
    

    现在完成后,您需要设置存储桶的配置,仅此而已。

    【讨论】:

      猜你喜欢
      • 2017-10-15
      • 2012-10-29
      • 2012-06-15
      • 2020-12-31
      • 2011-06-16
      • 1970-01-01
      • 2013-11-23
      • 2012-09-30
      • 2010-11-08
      相关资源
      最近更新 更多