Django 在发送给客户端之前调整图像大小

Django resize image before sending to client

我的 Django 服务器上有以下视图:

@csrf_exempt
def get_post_image(request, postID):
    response_date = {}
    if not request.user.is_authenticated():
        response_date['code'] = 507
        response_date['msg'] = "not logged in"
    else:
        post = Post.objects.get(id=postID)
        image_data = open(settings.MEDIA_ROOT + post.pic.name, "rb").read()
        return HttpResponse(image_data,
                            content_type=mimetypes.guess_type(post.pic.name))

它需要一个 postID 和 return 它的图像。但我想在将其发送给客户之前调整此图像的大小(不改变比例)。

怎么可能?

有关处理来自 python 的图像的原始工具,请参阅:
https://pillow.readthedocs.org/

...有关 Django 集成图像大小调整系统,请参阅:
http://easy-thumbnails.readthedocs.org/en/latest/
或者
http://sorl-thumbnail.readthedocs.org/en/latest/(注意要求)

Easy-thumbnails 提供 easy way of generating thumbnails.