如何在没有django的情况下使用sorl-thumbnail?

时间:2012-04-03 20:03:37

标签: python django sorl-thumbnail

在我的情况下,我有机会生成图像缩略图并在之前进行一些后期处理,然后将它们上传到管理员计算机上的服务器(Amazon S3)。
我知道sorl会在生成缩略图之前检查缩略图是否存在,但是使用了一种复杂的命名方案,所以我希望有一种方法可以直接从我的脚本中访问sorl。

官方文档没有提及使用sorl-thumbnail独立,任何建议?

2 个答案:

答案 0 :(得分:0)

我建议您查看sorl-thumbnail的来源。真的所有的sorl-thumbnail都是PIL(python成像库)的包装器。虽然我相信你可以找到一种方法来解开django的sorl-thumbnail,但这将是非常重要的。如果你说把它设置为管理命令(结果是完整的django环境),你就可以使用sorl-thumbnail文档中记录的低级api。

那说你可能会更好的只是搞清楚sorl-thumbnail如何与PIL接口并以解耦的方式再现代码的那部分,因为你将不得不进行额外的后处理(很可能再次使用PIL)sorl-缩略图无论如何也无法做到。

还要记住所有这些,我不确定你的意图是什么......这些都不是你可以设置为在网络服务器上运行的东西。你不能在连接到django服务器的客户端计算机上运行python脚本,这是不可能的。但是,如果你只是将它传递给某些同事或其他东西,那么生成一个python程序来生成带水印的缩略图是完全可能的。

如果您确实试图让任意人访问您的网站并通过网络界面上传水印/缩略图文件......那么您将要开始一些严肃的JavaScript学习。

答案 1 :(得分:0)

除非你做一些复杂的事情,否则我会考虑使用ImageMagick进行这种离线处理。对于缩放图像和合成徽标等简单任务,编写ImageMagick单行程更快更容易:

convert in.jpg -scale 200x200 logo.png -gravity SouthEast -composite out.jpg

比在PIL中实现相同的东西。