用于生成缩略图的模板标记,具有基于exif.orientation的自动旋转。

Photofile的Python项目详细描述


版本:0.1.0 作者:thomas weholt<;thomas@weholt.org>; 许可证:GPLv3.0 www:https://bitbucket.org/weholt/django-photofile 状态:实验性

关于

  • 用于生成缩略图的模板标记,支持基于exif.orientation的自动旋转。
  • 元数据处理的计划例程(exif/iptc/xmp)。

如何

<;img src={%generate_thumbnail imagefile 100x100 crop%}“/>;

提供一个名为generate_thumbnail的模板标记,它接受两个或三个参数:

param 1:对象(imagefile),如模型实例,具有名为unique _filename、complete _filename或filename的属性/字段。 photofile将按顺序检查。

参数2:分辨率,指定为<;宽度>;x<;高度>;,如320x280。

param 3:可选的“裁剪”-这将强制裁剪照片。

缩略图将被写入静态文件目录或静态根目录中名为“thumbs”的目录中。如果没有目录存在 称为拇指,它将被创建。

生成的缩略图将命名为<;filename>;<;width>;x<;height>;<;extension>;。当使用裁剪时,它将被命名为 <;文件名>;宽度>;x<;高度>;裁剪。<;扩展名>;。例如,分辨率为200x300的test.jpg的缩略图将被命名为 测试_200x300.jpg。

如果启用,photofile将尝试使用缓存,但它将url缓存到缩略图,而不是图像本身,因此它不是 很有效率。

注意!强烈建议使用某种方法来确保给photofile的文件名是唯一的。这就是为什么它会 首先查找名为unique_filename的属性。

为什么还要为django开发另一个缩略图应用程序?

我已经查看了SOLL缩略图和其他文档,最初我想使用现有的项目,但没有一个是支持的。 基于exif.方向的自动旋转。

安装

备选方案a)pip安装django photofile。 备选方案b)下载源代码,解包并安装python setup.py。 备选c)hg clonehttps://bitbucket.org/weholt/django-photofile并执行python setup.py安装。

用法

在settings.py中: 一。将“photofile”添加到已安装的应用程序中。 2.如果需要,请设置缓存。 三。将目录添加到静态文件目录或设置静态根目录。

在模板中: {%load photofile_tags%}

<;img src={%generate_thumbnail imagefile 200x300%}/>; 或 <;img src={%generate_thumbnail imagefile 100x100 crop%}“/>;

其中imagefile是一个对象,其属性/字段名为: a)唯一的文件名或 b)完整的文件名或 c)文件名

分辨率指定为<;宽度>;x<;高度>;,例如640x480,如果要裁剪照片,请添加裁剪,如中所示 这个例子结束了。

要求

  • Django
  • PIL

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java刷新JLabel   Java:字符“和\”是一样的吗?   仅限java Spring Kafka事务使用者   java如何强制Apache Tapestry更新javascript?   Maven exec:java:如何打开和读取资源目录中的文件?   java Log4j多线程   neo4j SDN4 java。ClassCastException:java。不能将lang.Integer转换为java。lang.使用AttributeConverter时长   java检查RDD的相等性   java如何创建ArrayList的新实例?   java发现了类org。日食码头。websocket。应用程序编程接口。升级请求,但需要接口   java ProGuard忽略注释默认值   “检索原型:”期间发生内部错误。创建新Maven项目时的Java堆空间   java是否仅在使用资源代码的trywith中遇到被抑制的异常?   java Watson AlchemyLanguage如何设置组合调用的参数