Dummy thumbnails for most popular Django thumbnail generators.
Project description
Dummy thumbnails for most popular Django thumbnail generators.
There are times when you have a database of a Django site and you need to quickly start it up to fix/develop, but then you realise that images are missing and you need to have images, because either your layout is broken or, in the worst case, entire site is broken (500). This library has been written for developers in order to avoid above mentioned problems in the shortest way possible, with least efforts possible.
Prerequisites
Django 1.8, 1.9, 1.10
Python 2.7, 3.4, 3.5
Installation
Install in your virtual environment
Latest stable version from PyPI:
pip install django-dummy-thumbnails
Latest stable version from github:
pip install https://github.com/barseghyanartur/django-dummy-thumbnails/archive/stable.tar.gz
Add dummy_thumbnails to your INSTALLED_APPS in the global settings.py.
INSTALLED_APPS = ( # ... 'dummy_thumbnails', # ... )
Specify a custom path to your images directory:
DUMMY_THUMBNAILS_IMAGES_PATH = '/home/path/to/images/'
This should be a directory inside your media directory of your Django project. Otherwise Django would raise a SuspiciousOperation exception. In order not to duplicate tons of files for each project, you are advised to create symlinks to the images directory in the media directory of your Django project.
ln -s /home/path/to/images /home/repos/your-django-project/media
If you prefer to use included public domain images, run the following management commands:
./manage.py collectstatic --noinput ./manage.py dummy_thumbnails_symlink_dummy_images
And specify the following path:
DUMMY_THUMBNAILS_IMAGES_PATH = os.path.join(MEDIA_ROOT, 'mixed')
Usage
Common usage examples.
Replace broken images with dummy ones
That’s what it’s all about - replacing the broken images with dummy ones.
Supported thumbnailers
A number of most popular image thumbnailers for Django is supported. If you can’t find your favourite thumbnailer, open an issue or consider making a pull request.
easy-thumbnails
Integration with easy-thumbnails.
Modify your settings in the following way:
Add dummy_thumbnails to the INSTALLED_APPS:
INSTALLED_APPS = [ # ... 'easy_thumbnails', 'dummy_thumbnails', # ... ]
Add dummy thumbnail generator to THUMBNAIL_SOURCE_GENERATORS:
THUMBNAIL_SOURCE_GENERATORS = ( 'dummy_thumbnails.contrib.thumbnailers.easy_thumbnails.source_generators.dummy_thumbnail', )
If you are using the included public domain images, don’t forget to collect the static files and create a symlink:
./manage.py collectstatic --noinput ./manage.py dummy_thumbnails_symlink_dummy_images
Now the following would work:
{% load thumbnail %} <img src="{% thumbnail 'None1' 640x480 crop %}" alt="" /> <img src="{% thumbnail 'None2' 480x640 crop %}" alt="" /> <img src="{% thumbnail 'None3' 200x200 crop %}" alt="" />
sorl-thumbnail
Integration with sorl-thumbnail.
Modify your settings in the following way:
Add sorl.thumbnail to the INSTALLED_APPS:
INSTALLED_APPS = [ # ... 'sorl.thumbnail', 'dummy_thumbnails', # ... ]
Set the dummy thumbnail engine as THUMBNAIL_ENGINE:
THUMBNAIL_ENGINE = 'dummy_thumbnails.contrib.sorl_thumbnail.engines.DummyThumbnailsEngine'
If you are using the included public domain images, don’t forget to collect the static files and create a symlink:
./manage.py collectstatic --noinput ./manage.py dummy_thumbnails_symlink_dummy_images
Now the following would work:
{% 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 %}
Demo
Run demo locally
In order to be able to quickly evaluate the django-dummy-thumbnails, a demo app (with a quick installer) has been created (works on Ubuntu/Debian, may work on other Linux systems as well, although not guaranteed). Follow the instructions below to have the demo running within a minute.
Grab the latest dummy_thumbnails_demo_installer.sh:
wget -O - https://raw.github.com/barseghyanartur/django-dummy-thumbnails/stable/examples/dummy_thumbnails_demo_installer.sh | bash
Open your browser and test the app.
If quick installer doesn’t work for you, see the manual steps on running the example project.
Testing
Simply type:
./runtests.py
or use tox:
tox
or use tox to check specific env:
tox -e py35
or run Django tests:
./manage.py test dummy_thumbnails --settings=settings.testing
License
GPL 2.0/LGPL 2.1
Support
For any issues contact me at the e-mail given in the Author section.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for django-dummy-thumbnails-0.1.2.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7f6924a4cc19c9c7ed8bbdbba676040edfe0da3586a7393849a31a7509f3b7d5 |
|
MD5 | 5f9183de5dc1e9602f5dc590b3f8922b |
|
BLAKE2b-256 | 3c834bb0dcc833c212d991fa5fc9176c108dbd3f092c478bcc26090c13a02f7b |
Hashes for django_dummy_thumbnails-0.1.2-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 01b38c4f242703370c7ddf7b65b384d40a69fa9fd21620f8e47d62914340b866 |
|
MD5 | 48b78b1a2b99472d30c5ad53f6d79752 |
|
BLAKE2b-256 | 82a3d99bc0442e5fba787e26d3360fdfc442b97f445fe5d1e53b3c6e0555d052 |