一个django模板标记库,它允许下载外部图像,将它们存储在本地,并将本地存储图像的本地路径返回到所需的上下文变量
django-eximagination的Python项目详细描述
直接从模板获取外部图像。
Django模板标记库,允许下载外部图像、存储 它们在本地并将本地存储图像的本地路径返回到所需的 上下文变量,以及图像的width和height属性 取来。在给定时间(设置为 设置)。
例如,您可以使用此应用程序解决显示 混合内容(从http和https源加载的资产)。
先决条件
- Django 1.8、1.9、1.10
- python>;=2.7,>;=3.4
安装
- 安装django-eximagination
pypi上的最新稳定版本:
pip install django-eximagination
来自Github的最新稳定版本:
pip install https://github.com/barseghyanartur/django-eximagination/archive/stable.tar.gz
- 将eximagination添加到INSTALLED_APPS。
INSTALLED_APPS=(# ...'eximagination',# ...)
- 配置
默认情况下,django-eximagination希望您的文件存储在 /media/external_images目录。如果位置不同,请重新定义 在django设置中的目录中,确保路径是可写的,并且 WWW数据(或任何适用的数据)有权写入其中。
importosBASE_DIR=os.path.dirname(os.path.dirname(__file__))MEDIA_ROOT=os.path.join(BASE_DIR,'..','..','media')EXIMAGINATION_MEDIA_ROOT=os.path.join(MEDIA_ROOT,'external_images')EXIMAGINATION_MEDIA_URL='/media/external_images'EXIMAGINATION_MEDIA_RELATIVE_ROOT='external_images/'# After 30 days we re-fetch the file anyway.EXIMAGINATION_EXPIRATION_INTERVAL=2592000
用法示例(在django模板中)
请参阅example directory中的工作 代码示例。
示例1:
{% load eximaginate %} <imgsrc="{{ MEDIA_URL }}{% eximaginate 'http://www.google.com/intl/en/images/logo.gif' %}">
示例2:
{% load eximaginate thumbnail %} {% eximaginate 'http://www.google.com/intl/en/images/logo.gif' as original %} <imgsrc="{% thumbnail original 100x100 %}">
在这两种情况下,都添加了两个附加的上下文变量:
- ei_width-图像的宽度
- ei_height-图像的高度
测试
只需键入:
./runtests.py
或使用毒物:
tox
或使用毒性检查特定环境:
tox -e py35
或者运行django测试:
./manage.py test eximagination --settings=settings.testing
许可证
gpl 2.0/lgpl 2.1
支架
如有任何问题,请通过Author部分中提供的电子邮件与我联系,或打开 关于BitBucket/GitHub的问题。