Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django Heroku上的媒体文件_Django_Heroku - Fatal编程技术网

Django Heroku上的媒体文件

Django Heroku上的媒体文件,django,heroku,Django,Heroku,如果我在Heroku上托管了一个小型Django网站,并且我只使用了一个dyno,那么在该服务器上上传媒体文件是否可以保存,或者我是否必须使用AWS S3存储来存储媒体文件?媒体存储的其他替代方案是什么?不,在Heroku文件系统上存储东西永远都不安全。即使你只有一个dyno,它仍然是短暂的,可以随时被杀死;例如,当您推送新代码时。使用S3是一条可行之路(替代方案是Azure和Google产品)。使用S3还有其他几个优点,主要是能够在不增加小型服务器压力的情况下为文件提供服务 虽然您的站点很小,

如果我在Heroku上托管了一个小型Django网站,并且我只使用了一个dyno,那么在该服务器上上传媒体文件是否可以保存,或者我是否必须使用AWS S3存储来存储媒体文件?媒体存储的其他替代方案是什么?

不,在Heroku文件系统上存储东西永远都不安全。即使你只有一个dyno,它仍然是短暂的,可以随时被杀死;例如,当您推送新代码时。

使用S3是一条可行之路(替代方案是Azure和Google产品)。使用S3还有其他几个优点,主要是能够在不增加小型服务器压力的情况下为文件提供服务

虽然您的站点很小,但dyno也很小,因此如果使用正确,S3的一个主要优势是您可以拥有AWS S3基础设施的支持来为文件提供服务。通过“正确使用”,我的意思是,您希望将文件直接上载到S3或从S3上载并提供服务,因此您的服务器仅用于对S3 URL进行签名,但实际文件永远不会经过您的服务器

检查和(我强烈推荐Fine Uploader,如果您可以使用免费版本或支付少量许可证费用的话)


显然,您也可以使用django storage redux在django中实现S3媒体文件,但这意味着您的服务器将忙于上传文件。如果这对你的小型服务器没问题,那也没问题。

更新:Fine Uploader从5.9.0版开始是MIT许可的(100%免费)。对于未来的访问者,MIT许可会让用户陷入陷阱,当将来发生版权侵权时,开发者不对问题负责,只有用户(MIT许可用户)所以尽量避免使用麻省理工学院许可的软件Supdate:Fine Uploader现在已经关闭了。().