python - 使用 Amazon s3 时 Django ImageField url 变慢

标签 python django heroku amazon-s3 boto

在我目前在 Heroku 上运行的 Django 应用程序中,我注意到在 s3 上托管时,从 ImageFields 检索 url 需要很长时间。
该应用程序是使用 Django Rest Framework 编写的。当我尝试检索具有图像字段的对象列表时,响应很慢 Heroku 会引发超时错误。我认为这是因为 boto 必须根据每个请求从 s3 为每个单独的 ImageField 检索一个 url。
如何加快进程以防止这些超时错误?

最佳答案

您可以在模型中创建一个新字段,例如 image_url .

class YourModel(...):
    image_url = models.CharField(...)
    # other fields

第一次上传/保存图像时,检索其 URL 并填充 image_url具有此值的字段。不过,您需要再次保存模型。

您可以稍后在需要时使用此值。

记过

这可能会导致不必要的数据库查找。但是,如果您使用 Memcached 或类似的东西来缓存数据库,我不会担心。

关于python - 使用 Amazon s3 时 Django ImageField url 变慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30555993/

相关文章:

ruby-on-rails - -bash : ngrok: command not found

python - 在我的 heroku box(Rails 应用程序)上安装一个 python 库,特别是 pycurl

python OptionParser.has_option 错误

python - 如何让我的模型遵循 DRY 原则

django - 在AppConfig的ready()方法中注册Django系统检查

python Django : join view on the admin interface

ruby-on-rails - 在 heroku 上的 postgresql 数据库中创建一个函数

python - 在 C++ 中嵌入 Python (CPython API)

python - 更改 Altair 图例中的形状颜色

python - 有效地将数组的numpy数组转换为数组的pandas系列