【问题标题】:Setting Up S3 with Heroku and Django with Images使用 Heroku 设置 S3 和使用图像设置 Django
【发布时间】:2018-07-29 23:14:11
【问题描述】:

所以我目前将我的静态文件(js 和 css)存储在 Heroku 上,这没什么大不了的。但是,我也有需要存储多个图像的对象,并且能够根据请求获取这些图像。我将如何存储对这些图像的引用?

我计划在Heroku here 上使用这些步骤使用 S3 直接文件上传。这也是我这样做的最佳方式吗?

提前谢谢你。

【问题讨论】:

    标签: python django heroku amazon-s3


    【解决方案1】:

    我不认为设置静态(css、js 等)或媒体(图像、视频)存储在 S3 上与 Heroku 或您部署的位置有任何关系。相反,它只是确保 Django 知道将文件保存在哪里,以及从哪里获取它们。我绝对不会关注那个链接,因为在使用 Django 时它看起来很混乱而且没有帮助。

    本教程对我很有帮助,因为它将向您展示如何设置所有这些。我已经完成了这些步骤,并且可以确认它可以解决问题。 https://simpleisbetterthancomplex.com/tutorial/2017/08/01/how-to-setup-amazon-s3-in-a-django-project.html

    【讨论】:

    • 今天晚些时候我会看看这个。它是否还提供了如何知道哪些数据库对象存储哪些图像的示例?
    • 我可能理解错了,但我认为图像存储在数据库中的位置并不重要,因为这只是图像的引用/路径。将存储更改为 S3 基本上只是将 STATICMEDIA 根指向您的 S3 存储桶,而不是它们之前的位置。
    • 话虽如此,python manage.py collectstatic 会将您的所有静态文件放入 S3 存储桶中(本教程将引导您完成此操作)。但是,将已经在本地存储中的媒体/图像文件放入新的 S3 存储桶将是本教程中唯一遗漏的内容。本教程是从“新”项目的角度出发的。
    • 对不起。让我重述一下。我有从我的应用程序存储在数据库中的项目。如果我想存储与这些项目关联的图像,我会使用 Charfield 在 S3 上存储图像的路径,基本上不需要 ImageField?
    • 所以 Django 抽象了一层关于它如何从 ImageField 中找到图像的层,这取决于我在 where m 的配置中定义的内容
    【解决方案2】:

    虽然我过去曾走这条路,但最近我选择使用 Digital Ocean 的一键式应用程序 - Dokku。它基于Herokuish。然后,我使用 Dokku 的持久存储来利用 DO 最小的 5 美元/月计划中的 25 GB 存储。我为此写了一份指南here

    【讨论】:

      猜你喜欢
      • 2018-10-16
      • 1970-01-01
      • 2016-09-29
      • 1970-01-01
      • 2012-07-09
      • 1970-01-01
      • 2012-05-27
      • 2017-01-03
      • 2017-09-08
      相关资源
      最近更新 更多