一个django模板标记库,它允许下载外部图像,将它们存储在本地,并将本地存储图像的本地路径返回到所需的上下文变量

django-eximagination的Python项目详细描述


直接从模板获取外部图像。

Django模板标记库,允许下载外部图像、存储 它们在本地并将本地存储图像的本地路径返回到所需的 上下文变量,以及图像的widthheight属性 取来。在给定时间(设置为 设置)。

例如,您可以使用此应用程序解决显示 混合内容(从http和https源加载的资产)。

先决条件

  • Django 1.8、1.9、1.10
  • python>;=2.7,>;=3.4

安装

  1. 安装django-eximagination

pypi上的最新稳定版本:

pip install django-eximagination

来自Github的最新稳定版本:

pip install https://github.com/barseghyanartur/django-eximagination/archive/stable.tar.gz
  1. eximagination添加到INSTALLED_APPS
INSTALLED_APPS=(# ...'eximagination',# ...)
  1. 配置

默认情况下,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的问题。

作者

艺术酒吧<;artur.barseghyan@gmail.com>;

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

推荐PyPI第三方库


热门话题
javajexcel包装文本问题   EclipseJavaEnum缩进超过左括号。如何让它看起来更正常?   java有办法包含Tomcat 6 catalina。out和localhost。在网络应用的日志文件中记录内容?   java如何永久性地阻止JavaFX代码在eclipse中被突出显示为错误?   如何在java中优化两个for循环(for循环中的for循环)   java如何在我的windows机器上从jar文件创建mac osx的可执行文件   使用记忆化/动态规划的Java组合学   Java中的游荡对象垃圾收集   java为什么我在JSP和JDBC和MySQL中遇到连接失败错误   java轮询Pod的就绪状态   如何创建电子邮件并将其发送到Java中的特定地址?   java如何修复Dagger 2错误“。。。无法提供[…]”?   java Android单选按钮看起来太轻   Android Studio:开发在应用程序之间共享的通用java库