基于url的django图像处理

django-url-imaging的Python项目详细描述


Click here to lend your support to: django-url-imaging and make a donation at www.pledgie.com!

django url映像

django url imaging为django提供基于url的图像处理功能 项目。它具有一个可插入的存储系统,实现了 在本地、在Amazon S3上存储图像或使用scp实用程序复制图像 到另一个服务器。

概述

一旦安装和配置,django url imaging将允许您嵌入 缩略图和其他图像转换只使用 精心编制的URL。例如,如果将django url imaging配置为侦听 对于/thumbnails/上的请求,并且需要具有 图片位于http://media.mydomain.com/foo.jpg,您只需创建一个链接 例如:

<img src="/thumbnails/resize/50x50/media.mydomain.com/foo.jpg" />

django url imaging为图像提供了许多不同的基于url的commands 裁剪、调整大小、缩放、水印和much more等处理。 有关django url映像的更多信息,请查看Wiki

安装

  1. Download并使用Distutils
^{tt3}$
  1. urlimagingapp添加到INSTALLED_APPS
  2. urlimaging.urls作为资源包含在urls.py
^{tt8}$
  1. 最后,根据您是否要使用s3或本地文件存储,配置适当的设置:

配置

根据您计划如何存储图像,您需要添加 您的settings.py文件的以下属性集:

亚马逊s3

  • IMAGE_STORAGE_BACKEND–应该将其设置为“s3imagestorage”以指定s3存储后端。
  • S3_BUCKET_NAME–S3上存储图像的存储桶的名称(应该已经创建)。
  • AWS_ACCESS_KEY_ID–亚马逊提供的AWS访问密钥。
  • AWS_SECRET_ACCESS_KEY–亚马逊提供的AWS秘密访问密钥。
  • S3_EXPIRES(可选)–s3生成的url有效的时间长度。

本地图像存储
  • IMAGE_STORAGE_BACKEND–对于本地映像存储后端,此参数应设置为“local image storage”。

  • IMAGE_WHITELIST_FN–一个函数,它接受一个url作为参数,并用它来决定是否允许对其进行处理。默认情况下,它定义为lambda url: True,允许处理所有图像。若要将其限制为仅处理MEDIA_URL中的图像,请将其设置为:

    IMAGE_WHITELIST_FN = lambda url: settings.MEDIA_URL in url

  • IMAGE_STORAGE_DIR(可选)–指向应存储图像的目录的完整路径如果未设置此路径,则该值将从媒体根目录继承。这个目录应该是可以公开访问的,因为应用程序不直接提供来自它的图像。

  • IMAGE_PATH_PREFIX(可选)-位于已处理图像路径前面的路径。

scp

如果要使用scp命令将生成的文件复制到另一个类unix服务器,请配置以下选项:

  • PROCESSED_MEDIA_URL-一个URL,图像一旦存储起来就可以访问它
  • SSH_MEDIA_USER-在远程主机上具有ssh访问权限的用户名
  • SSH_MEDIA_PATH-图像将存储在远程主机上的路径
  • SSH_IDENTITY_FILE-如果访问远程主机需要标识文件,则这是该文件的路径。

自定义django管理命令

django url imaging将以下自定义命令添加到项目的django管理:

  • removeoldimages-将删除在预定时间(默认为一周)内未访问的任何处理过的图像。建议将其添加到诸如cron之类的计划系统中,以便每两天运行一次。

附加配置

  • MEDIA_URL–如果您使用的是localimagestorage后端,则设置此参数将提供根url,该url为存储在IMAGE_STORAGE_DIR
  • 中的图像提供服务。
  • FONT_PATH-字体的路径使用水印操作时要使用的文件。默认为/usr/share/fonts/truetype/freefont/FreeSansBold.ttf
  • IMAGE_EXPIRATION_DAYS-删除未访问的图像之前的天数。默认为7

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

推荐PyPI第三方库


热门话题
java将Map<String,String>传递给需要Map<String,Object>   java在循环中使用字符串而不是StringBuilder是否会造成内存损失?   jnlp如何更新java控制台JRE?   java更改、修改和重新打包CXFAPI源文件   JavaFXJava应用程序在Fedora上运行一段时间后关闭   使用来自不同类的方法的java   java如何通过ant脚本在linux中使用subst?   java在使用camunda modeler进行base64编码/解码时出错   获取java。netbeans、weblogic和fastswap设置为true时的lang.NoSuchMethodError   java如何提高FinalizerThread在GC中收集对象的优先级   java检测具有相同根的单词   netbeans crud应用程序中的java错误