【问题标题】:Heroku & Django: Storing a single jpg assetHeroku 和 Django:存储单个 jpg 资产
【发布时间】:2019-01-16 10:51:55
【问题描述】:

使用 Heroku 的临时文件系统,很明显我们无法在应用的文件系统中托管用户上传的图像或动态更改的图像,因为其他测功机无法使用这些图像。

但是,我正在寻找一种解决方案在 Django URLField() 中存储一个用作徽标的单个图像 - 如果远程位置的图像(外部服务)不可用(因此 URLField 而不是 ImageField)

picture_url = models.URLField(null=True)

对我来说,设置和使用像 Amazon S3 这样的服务似乎有点过头了。使用 imgur/Photobucket 之类的服务似乎不可靠。

有什么解决方法吗?

【问题讨论】:

    标签: django heroku


    【解决方案1】:

    很遗憾,没有。

    存储单张图片或多张图片在功能上没有区别。问题在于 Heroku 部署了代码的快照,如 Git 所示。如果某个资产不在您的存储库中,那么每当 Heroku 重新部署您的代码时(包括您推送新代码时),它都会被丢弃。

    图像托管服务(按照您的计划存储 URL)是您的最佳选择。

    【讨论】:

    • 感谢您的回答。 “如果某个资产不在您的存储库中,那么只要 Heroku 重新部署您的代码,它就会被丢弃”——尽管图像确实“技术上”存在于我的 git 存储库中......
    • 从技术上讲是什么意思?如果图像存在于 repo 中,请确保它在 STATIC_DIR 中,并将您的 URL 字段设置为应用程序中图像的 URL。
    • 我的意思是字面意思。对不起。我试过这个但得到以下错误:“'sass/img/no_pic_dashboard.jpg'的静态文件清单条目”
    • 你运行 collectstatic 了吗?
    • 是的。该应用程序甚至在崩溃前运行了几个小时。如果一开始就缺少清单,Whitenoise 会在部署时崩溃。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-08-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多