【问题标题】:Images disappearing in heroku even after storing them in S3 bucket即使将图像存储在 S3 存储桶中,图像也会在 heroku 中消失
【发布时间】:2020-08-15 16:35:55
【问题描述】:

我使用 sqlite3 作为我的 数据库,即 django 默认数据库。有人告诉我 Heroku 是短暂的。所以存储的图像会被蒸发掉。所以我使用 Amazon S3 存储桶 来存储我所有的静态文件和通过 django admin 上传的图像。 我通过 django admin 上传的图片仍然在几个小时后消失

在我的 settings.py 中:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
    }
}
AWS_ACCESS_KEY_ID = **
AWS_SECRET_ACCESS_KEY = **
AWS_STORAGE_BUCKET_NAME = 'bucket'
AWS_S3_FILE_OVERWRITE = False
AWS_DEFAULT_ACL = None
DEFAULT_FILE_STORAGE = 'storages.backends.s3boto3.S3Boto3Storage'
STATICFILES_STORAGE = 'storages.backends.s3boto3.S3Boto3Storage'

在我的 models.py 中:

class Moment(models.Model):
    name = models.CharField(max_length=25)
    img = models.ImageField(upload_to='moments')

    def __str__(self):
        return self.name

我需要连接到 heroku 提供的 Postgresql 吗?或者到目前为止我是否犯了任何错误?我的网站的链接: http://fine-arts-club.herokuapp.com/

【问题讨论】:

    标签: django postgresql amazon-web-services heroku amazon-s3


    【解决方案1】:

    您的 SQLite 数据库存储在哪里?如果这也在 Dyno 上,那么每次 Dyno 重新启动时都会“重置”。改用 Heroku Postgres 将确保您的数据库在 Dyno 重新启动时仍然存在。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-10-18
      • 2020-08-02
      • 2021-10-13
      • 1970-01-01
      • 1970-01-01
      • 2021-08-09
      相关资源
      最近更新 更多