为最受欢迎的Django缩略图生成器提供占位图。
项目描述
Dummy thumbnails for most popular Django thumbnail generators.
有时你有一个Django站点的数据库,并且需要快速启动它以修复/开发,但随后你意识到图片缺失,你需要有图片,因为要么你的布局损坏,要么在最坏的情况下,整个站点损坏(500)。这个库是为了开发人员编写的,以便以最短的时间和最小的努力避免上述问题。
先决条件
Django 1.8, 1.9, 1.10, 1.11, 2.0, 2.1, 2.2
Python 2.7, 3.5, 3.6, 3.7
尽管 django-dummy-thumbnails 没有针对旧版本的Django进行测试,但测试通过Django版本1.5,1.6和1.7。
安装
在虚拟环境中安装
来自PyPI的最新稳定版本
pip install django-dummy-thumbnails
或来自GitHub的最新稳定版本
pip install https://github.com/barseghyanartur/django-dummy-thumbnails/archive/stable.tar.gz
或来自BitBucket的最新稳定版本
pip install https://bitbucket.org/barseghyanartur/django-dummy-thumbnails/get/stable.tar.gz
将 dummy_thumbnails 添加到全局 settings.py 中的 INSTALLED_APPS。
INSTALLED_APPS = ( # ... 'dummy_thumbnails', # ... )
收集静态文件
./manage.py collectstatic --noinput
在设置中指定自定义路径到您的图片目录
DUMMY_THUMBNAILS_IMAGES_PATH = '/home/path/to/images/'
这应该是在您的Django项目中的媒体目录下的一个目录。否则,Django会引发一个SuspiciousOperation异常。为了不为每个项目重复大量文件,建议您在Django项目的媒体目录中创建指向图像目录的符号链接。
ln -s /home/path/to/images /home/repos/your-django-project/media
如果您想使用包含的公有领域图像,请运行以下管理命令
./manage.py dummy_thumbnails_symlink_dummy_images
并在设置中指定以下路径
DUMMY_THUMBNAILS_IMAGES_PATH = os.path.join(MEDIA_ROOT, 'mixed')
用法
常见用法示例。
用占位图像替换损坏的图像
这就是全部内容 - 用占位图像替换损坏的图像。
支持的缩略图生成器
大多数流行的Django图像缩略图生成器(django-imagekit,sorl-thumbnail和easy-thumbnails)都受到支持。如果您找不到您喜欢的缩略图生成器,请打开一个问题或考虑发起一个拉取请求。
django-imagekit
与django-imagekit集成。
按以下方式修改您的设置
将imagekit,dummy_thumbnails和dummy_thumbnails.contrib.thumbnailers.django_imagekit.generatorlibrary添加到INSTALLED_APPS
INSTALLED_APPS = [ # ... 'imagekit', 'dummy_thumbnails', 'dummy_thumbnails.contrib.thumbnailers.django_imagekit.generatorlibrary', # ... ]
收集静态文件
./manage.py collectstatic --noinput
在设置中指定自定义路径到您的图片目录
DUMMY_THUMBNAILS_IMAGES_PATH = os.path.join(MEDIA_ROOT, 'mixed')
如果您使用的是包含的公有领域图像,不要忘记创建一个符号链接
./manage.py dummy_thumbnails_symlink_dummy_images
现在以下命令将工作
{% load imagekit %} {% thumbnail '640x480' 'None1' %} {% thumbnail '480x640' 'None2' %} {% thumbnail '200x200' 'None3' %}
sorl-thumbnail
与sorl-thumbnail集成。
按以下方式修改您的设置
将sorl.thumbnail和dummy_thumbnails添加到INSTALLED_APPS
INSTALLED_APPS = [ # ... 'sorl.thumbnail', 'dummy_thumbnails', # ... ]
将占位缩略图引擎设置为THUMBNAIL_ENGINE
THUMBNAIL_ENGINE = 'dummy_thumbnails.contrib.thumbnailers.sorl_thumbnail.engines.dummy_engine.DummyThumbnailsEngine'
收集静态文件
./manage.py collectstatic --noinput
在设置中指定自定义路径到您的图片目录
DUMMY_THUMBNAILS_IMAGES_PATH = os.path.join(MEDIA_ROOT, 'mixed')
如果您使用的是包含的公有领域图像,不要忘记创建一个符号链接
./manage.py dummy_thumbnails_symlink_dummy_images
现在以下命令将工作
{% load thumbnail %} {% thumbnail 'None1' "640x480" crop="center" as im %} <img src=
"{{ im.url }}"width="{{ im.width }}"height="{{ im.height }}"/> {% endthumbnail %} {% thumbnail 'None2' "480x640" crop="center" as im %} <img src="{{ im.url }}"width="{{ im.width }}"height="{{ im.height }}"/> {% endthumbnail %} {% thumbnail 'None3' "200x200" crop="center" as im %} <img src="{{ im.url }}"width="{{ im.width }}"height="{{ im.height }}"/> {% endthumbnail %}
easy-thumbnails
与easy-thumbnails集成。
按以下方式修改您的设置
将easy_thumbnails和dummy_thumbnails添加到INSTALLED_APPS
INSTALLED_APPS = [ # ... 'easy_thumbnails', 'dummy_thumbnails', # ... ]
将占位缩略图生成器添加到THUMBNAIL_SOURCE_GENERATORS
THUMBNAIL_SOURCE_GENERATORS = ( 'dummy_thumbnails.contrib.thumbnailers.easy_thumbnails.source_generators.dummy_thumbnail', )
收集静态文件
./manage.py collectstatic --noinput
在设置中指定自定义路径到您的图片目录
DUMMY_THUMBNAILS_IMAGES_PATH = os.path.join(MEDIA_ROOT, 'mixed')
如果您使用的是包含的公有领域图像,不要忘记创建一个符号链接
./manage.py dummy_thumbnails_symlink_dummy_images
现在以下命令将工作
{% load thumbnail %} <img src=
"{% thumbnail 'None1' 640x480 crop %}"alt=""/> <img src="{% thumbnail 'None2' 480x640 crop %}"alt=""/> <img src="{% thumbnail 'None3' 200x200 crop %}"alt=""/>
处理损坏或无效的占位图像
当然,拥有一个良好的占位图像集总是更好的。然而,可能由于某些原因,您的占位图像之一可能已损坏。
推荐的方法是使用管理命令dummy_thumbnails_verify_dummy_images,该命令已被编写以验证占位图像并识别可能的问题。它还允许您删除损坏/无效的占位图像。
要确认删除损坏/无效的占位图像,请输入
./manage.py dummy_thumbnails_verify_dummy_images
要删除损坏/无效的占位图像而不进行确认,请输入
./manage.py dummy_thumbnails_verify_dummy_images --noinput
要仅列出损坏/无效的占位图像而不删除,请输入
./manage.py dummy_thumbnails_verify_dummy_images --list
另一种避免失败的方法是在项目设置中将DUMMY_THUMBNAILS_VERIFY_IMAGES的值设置为True。请注意,这将减慢Django项目的启动时间,尽管不会减慢图像的进一步渲染。
从源导入图像
从支持封装的源导入图像。
安装
将dummy_thumbnails.contrib.image_importers.feed添加到全局settings.py中的INSTALLED_APPS。
INSTALLED_APPS = (
# ...
'dummy_thumbnails.contrib.image_importers.feed',
# ...
)
用法
要从Flickr commercialphotos源导入50个占位图像,请输入
./manage.py dummy_thumbnails_import_from_feed
您可以提供自定义的源URL和要导入的占位图像数量。要从Flickr nationalgeographic组导入100个图像,请输入
./manage.py dummy_thumbnails_import_from_feed \
"https://api.flickr.com/services/feeds/groups_pool.gne?id=36256495@N00" \
--limit=100
配置
如您所见,语法允许从任何支持封装的源读取图片。在您的项目中,您可能希望使其对开发者来说更简单,这样他们就不必输入源URL。因此,引入了一个设置 DUMMY_THUMBNAILS_FEED_DEFAULT_FEED_URL。它默认为Flickr的商业照片组URL。
DUMMY_THUMBNAILS_FEED_DEFAULT_FEED_URL = "https://api.flickr.com/" \
"services/feeds/groups_pool.gne" \
"?id=36256495@N00"
演示
本地运行演示
为了能够快速评估django-dummy-thumbnails,创建了一个演示应用程序(带有快速安装器)(在Ubuntu/Debian上工作,可能也在其他Linux系统上工作,但无法保证)。按照以下说明,在一分钟内启动演示。
获取最新的 dummy_thumbnails_demo_installer.sh
wget -O - https://raw.github.com/barseghyanartur/django-dummy-thumbnails/stable/examples/dummy_thumbnails_demo_installer.sh | bash
打开您的浏览器并测试应用程序。
如果快速安装器对您不起作用,请参阅在示例项目中运行的手动步骤。
测试
只需输入
./runtests.py
或使用tox
tox
或使用tox检查特定环境
tox -e py37
或运行Django测试
./manage.py test dummy_thumbnails --settings=settings.testing
许可证
GPL-2.0-only OR LGPL-2.1-or-later
支持
对于任何问题,请通过作者部分提供的电子邮件与我联系。
项目详情
散列值 for django_dummy_thumbnails-0.2.5-py2.py3-none-any.whl
算法 | 散列摘要 | |
---|---|---|
SHA256 | 05cc09865a7c026e5e6f16df783358f0ce6e901f755d30356610051606e1c716 |
|
MD5 | 1776312d38d0fdd4dccaff1c83b3f4e9 |
|
BLAKE2b-256 | 57f38798548c30a0ad35ddf306d009075678705a9e9baf9756fea33a15aa3037 |