在我目前在 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/