django thumbs是使用django为图像创建缩略图的最简单方法。适用于任何存储后端。
django-thumbs的Python项目详细描述
使用django为图像创建缩略图的最简单方法。适用于任何存储后端。
功能
- 易于集成到代码中(无数据库更改,用作imagefield)
- 可与任何存储后端完美配合
- 将图像上载到内存后生成缩略图
- 删除图像文件时删除缩略图
- 提供对缩略图url的简单访问(与imagefield类似的方法)
要求
- Python2.5+
- Django 1.1+
- pil(python图像库)
得到它
您可以使用pip或easy_install获得django拇指:
$ pip install django-thumbs or $ easy_install django-thumbs
如果要从源代码安装,请从github获取git存储库并运行setup.py:
$ git clone git://github.com/skitoo/django-thumbs.git $ cd django-thumbs $ python setup.py install
安装
- 将其导入models.py并将imagefield替换为模型中的imagewiththumbsfield
- 添加带有要用于缩略图的大小列表的“大小”属性
- 确保已在settings.py中定义了媒体URL
- 就这样!
工作示例
from django.db import models from django_thumbs.db.models import ImageWithThumbsField class Person(models.Model): photo = ImageWithThumbsField(upload_to='images', sizes=((125,125),(200,200))) second_photo = ImageWithThumbsField(upload_to='images')
在本例中,我们有一个具有两个图像字段的Person模型。
您可以看到字段second_photo没有size属性。该字段的工作方式与普通的imagefield完全相同。
字段照片有一个size属性,指定缩略图所需的大小。此字段的工作方式与imagefield相同,但它也会在上载新文件时创建所需的缩略图,并在删除文件时删除缩略图。
使用imagefield检索图像的url:someone.photo.url使用imagewiththumbsfield检索图像的方式相同。您还可以检索指定其大小的每个缩略图的url:在本例中,我们使用someone.photo.url_125x125和someone.photo.url_200x200来获取两个缩略图的url。
卸载
您可以随时返回并再次使用imagefield,而无需更改数据库或其他任何内容。只需再次将imageWithumbsField替换为imageField,并确保删除“大小”属性。在使用django拇指之前,一切都将以同样的方式工作。只要记住删除生成的缩略图,以防您不再需要它们。