使用django和nginx创建按需缩略图

时间:2010-05-25 07:36:18

标签: django nginx thumbnails image-resizing

我想动态生成图像的缩略图。

我的网站是使用django构建的,并使用nginx进行部署,nginx提供所有静态内容,并使用反向代理与django / apache通信。

现在,对于我网站中的每个图片,我都会手动生成所有必需尺寸的缩略图,并在需要时提供。问题是,每当我改变缩略图的大小时,我必须重新生成所有这些(并且它们是吨)。

但是现在我想在第一次访问缩略图时生成缩略图,之后nginx将在n上传送相同的文件。如果由于访问次数较少而删除该缩略图文件,则应在下次自动生成该文件。在我的情况下缩略图也有水印,需要我的应用程序的一些计算逻辑,因此webserver缩略图模块可能无法正常工作。

缩略图的大小可以嵌入到URL中。因此http://www.example.com/thumbnail/abc_320x240.jpg获得缩略图的320x240大小。

我现在正在寻找的方法是让nginx查找文件,如果它不存在,请将查询转发到我的django应用程序,该应用程序将创建缩略图并发送响应或重定向字符串。但是我不确定并发问题以及以后可能出现的任何其他问题。

实现这一目标的适当方法是什么?

1 个答案:

答案 0 :(得分:1)

您所描述的是sorl.thumbnail如何工作减去水印。但你很可能很容易修改sorl,将你的水印添加到它的基本缩略图中。