基于url的django图像处理
django-url-imaging的Python项目详细描述
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。
安装
^{tt3}$
- 将urlimagingapp添加到INSTALLED_APPS
- 将urlimaging.urls作为资源包含在urls.py:
^{tt8}$
- 最后,根据您是否要使用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(可选)-位于已处理图像路径前面的路径。
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。