Django休息框架 - 缩略图图像序列化器

时间:2013-09-18 19:14:30

标签: django rest django-rest-framework

我的情况很基本:我想在响应AJAX请求时向客户端发送缩略图的URL。我有自定义图像字段,从客户端反序列化base64编码图像和sorl_thumbnail作为缩略图引擎。在我的观点中,我想用缩略图的任意选项实例化反序列化器。

Django REST框架中的常用技术是什么?

UPD
主要问题是如何将关于维度,格式,质量等的参数传递给序列化器?在一个地方我可能需要图片的小缩略图,在其他更大的缩略图。

现在我看到两种方法:
- 建立一个工厂,生产带有缩略图字段的给定选项的序列化器 - 在AJAX请求中发送缩略图选项,使序列化程序能够阅读并遵循它们。

1 个答案:

答案 0 :(得分:2)

有很多方法可以解决这个问题,具体取决于您未提供的大量信息,但也许可以考虑在序列化程序中使用SerializerMethodField

基本思想是创建一个方法,该方法能够为给定对象实例的缩略图返回适当的URL,并将SerializerMethodField绑定到该方法。

默认情况下,DRF GenericViews通过context parameter将请求传递给序列化程序。这使您可以使用request = self.context.get('request', None)等访问请求。从那里你可以按照你的建议阅读缩略图选项。

希望这足以让你入门。