我的 django 应用程序在 heroku(使用 gunicorn 运行)上,带有一个简单的共享数据库,图像保存到 s3。问题是一旦页面有多个图像,响应就会变得非常缓慢(30-60 秒)。在这种情况下有什么关于最佳实践的提示吗?
设置:
#AWS login details etc
from S3 import CallingFormat
AWS_CALLING_FORMAT = CallingFormat.SUBDOMAIN
基本模型如下所示:
模型.py
class TestModel(models.Model):
original_image = models.ImageField(storage=s3_storage, upload_to='uploads/%Y/%m/%d')
thumb_image = ImageSpec([resize.Fit(402)], image_field='original_image', storage=s3_storage, format='JPEG', options={'quality': 90})
formatted_image = ImageSpec([resize.Fit(800)], image_field='original_image', storage=s3_storage, format='JPEG', options={'quality': 90})
和简化视图:
视图.py
def home(request):
images = TestModel.objects.filter(published=True)
ctxt = {}
ctxt['image'] = images
return render_to_response('home.html', ctxt, RequestContext(request))
模板:
{% for image in images %}
<img src="{{ image.thumb_image.url }}" alt="">
{% endfor %}