唐戈

sorl-thumbnail的Python项目详细描述


travissorl-thumbnail on PyPIcoveralls

Django的缩略图。

功能一目了然

  • Django supported versions policy
  • 之后支持django 1.11、2.0和2.1
  • python 3支持
  • 存储支持
  • 可插入引擎支持PillowImageMagickPILWandpgmagickvipsthumbnail
  • 可插入的键值存储支持(aws缓存的db、redis和dynamodb)
  • 可插拔后端支持
  • 具有删除可能性的管理集成
  • 虚拟生成(占位符)
  • 灵活、简单的语法,不生成HTML/LI>
  • 用于删除缩略图的模型的ImageField
  • CSS样式裁剪选项
  • 向后智能裁剪,裁剪时从图像中删除边框
  • 垂直定位的边距计算
  • 缩略图的其他分辨率版本

the documentation (latest version)中阅读更多内容

开发人员

Jazzband

这是一个Jazzband项目。通过贡献你同意 遵守Contributor Code of Conduct 然后跟着guidelines

如果您想推荐一个新功能,可以创建一个新的拉取请求。 如果您需要开发支持或希望与其他开发人员讨论 在freenode.net或gitter加入我们的Sorl Thumnbail频道。

对于版本更新和深入开发讨论中的更多内容,请使用我们的邮件列表 在谷歌群组中。

测试

这些测试应该与毒物和脓毒性测试一起进行。运行tox将对所有环境运行所有测试。 但是,可以运行具有tox-e<;env>;的特定环境,这是所有环境的列表 可通过tox-l找到。这些测试需要在 文件。可以使用 回购协议中的流浪者文件。

用户支持

如果需要使用sorl缩略图浏览的帮助http://stackoverflow.com/questions/tagged/sorl-thumbnail 并用sorl缩略图标记发布您的问题。

如何使用

获取代码

使用“pip”获取最新稳定版本的代码。

$ pip install sorl-thumbnail

在项目中安装

然后在的“已安装应用程序”部分注册“sorl.thumbnail” 项目的设置。

INSTALLED_APPS = (
    'django.contrib.auth',
    'django.contrib.admin',
    'django.contrib.sites',
    'django.contrib.comments',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.contenttypes',

    'sorl.thumbnail',
)

模板使用

所有的例子都假设您首先在 您的模板。

{% load thumbnail %}

简单的用法。

{% thumbnail item.image "100x100" crop="center" as im %}
    <img src="{{ im.url }}" width="{{ im.width }}" height="{{ im.height }}">
{% endthumbnail %}

请参见文档中Template examples部分的更多示例

模型使用

使用ImageField自动删除对键中自身的引用 值存储及其缩略图引用以及删除时的缩略图文件。

from django.db import models
from sorl.thumbnail import ImageField

class Item(models.Model):
    image = ImageField(upload_to='whatever')

参见文档中Model examples部分的更多示例

低水平api

您可以使用“获取缩略图”:

from sorl.thumbnail import get_thumbnail
from sorl.thumbnail import delete

im = get_thumbnail(my_file, '100x100', crop='center', quality=99)
delete(my_file)

请参阅文档中Low level API examples部分的更多示例

与其他缩略图结合使用

或者,您可以通过{%load sorl_thumbnail%}加载模板标记。 而不是传统的{%load thumbnail%}。它在 使用多个缩略图库的项目 templateTag模块的相同名称(thumbnail):

{% load sorl_thumbnail %}
{% thumbnail item.image "100x100" crop="center" as im %}
    <img src="{{ im.url }}" width="{{ im.width }}" height="{{ im.height }}">
{% endthumbnail %}

常见问题

在amazon s3中太慢了!

可能与amazon s3后端的实现有关,请参见issue #351 如果在尝试时存在一个现有缩略图,则存储后端检查 生成广泛使用s3 api的缩略图

如果您不愿意调整存储后端,一个快速的解决方法是设置:

THUMBNAIL_FORCE_OVERWRITE = True

所以它将避免过度查询s3 api。

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

推荐PyPI第三方库


热门话题
Java岩石、布、剪刀程序,带文件输入   java迭代Hashmap中的值列表   数组不能正确循环   JavaHibernate:对于一个遥远的惰性依赖,有一个渴望的获取者吗?   交通阻塞下的java车辆路径选择   如何在java中创建布尔方法来检查添加到具有特定索引的arraylist的对象   java Tomcat配置文件/上下文xml似乎已经崩溃了。请确保它是可分析和有效的。有关详细信息,请参阅服务器日志   为什么坐标有时相等,有时不相等?   java libgdx CameraInputController过于敏感,平移开始得太早   将C++排序函数移植到java   java应该是十进制的   swing Java JFrame中的所有内容都不可见   java使用数组中除一个元素以外的所有元素   从子类运行构造函数的Java