Django:[Errno 30]只读文件系统:通过Heroku部署时尝试通过admin上传映像时为'/ static'

时间:2018-08-16 14:38:44

标签: django heroku django-models image-uploading

我使用MySQL数据库在Heroku上部署了我的应用程序。我正在尝试使用管理界面上传图像,但是出现以下错误:

[Errno 30] Read-only file system: '/static'

我可以在本地上传图像。如何将文件写入此文件夹以上传图像?当前是我的静态设置和“图像模型”字段:

STATIC_URL = '/static/'
STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles')
if DEBUG:
    MEDIA_URL = '/static/media/'
    MEDIA_ROOT = os.path.join(os.path.dirname(BASE_DIR), 'static', 'media')

# Simplified static file serving.
# https://warehouse.python.org/project/whitenoise/
STATICFILES_STORAGE = 'whitenoise.storage.CompressedManifestStaticFilesStorage'

models.py

image = models.ImageField(null=True, blank=True, upload_to='')

我认为默认情况下应该默认上传到媒体文件夹。 DEBUG设置为True。

1 个答案:

答案 0 :(得分:0)

@Daniel Roseman引用:

  

您不能将内容存储在Heroku的文件系统中;它是短暂的,不是在dynos之间共享的。使用永久性外部存储系统,例如S3。