django CMS Image is a plugin for django CMS that allows you to add images to your project's content.
This addon is compatible with Aldryn and is also available on the django CMS Marketplace for easy installation.
This is a an open-source project. We'll be delighted to receive your feedback in the form of issues and pull requests. Before submitting your pull request, please review our contribution guidelines.
One of the easiest contributions you can make is helping to translate this addon on Transifex.
See REQUIREMENTS
in the setup.py
file for additional dependencies:
- Python 2.7, 3.3 or higher
- Django 1.8 or higher
Make sure django Filer is installed and configured appropriately.
For a manual install:
- run
pip install djangocms-picture
- add
djangocms_picture
to yourINSTALLED_APPS
- run
python manage.py migrate djangocms_picture
Note that the provided templates are very minimal by design. You are encouraged to adapt and override them to your project's requirements.
This addon provides a default
template for all instances. You can provide
additional template choices by adding a DJANGOCMS_PICTURE_TEMPLATES
setting, for example:
DJANGOCMS_PICTURE_TEMPLATES = [ ('background', _('Background image')), ]
In this case, background
is the name of a directory that contains the
template set required.
You'll need to create a background
directory inside templates/djangocms_picture/
otherwise you will get a Template does not exist
error. You can do this by
copying the default
directory that's there already and renaming it to
background
.
Another setting is DJANGOCMS_PICTURE_NESTING
, which allows you to render an image
as the background image of a container that also contains other content (text, icons
and so on).
DJANGOCMS_PICTURE_NESTING = True
will enable this (the default is False
). When set to True
, you'll be able to place additional
plugins inside the picture plugin.
You can override alignment styles with DJANGOCMS_PICTURE_ALIGN
, for example:
DJANGOCMS_PICTURE_ALIGN = [ ('top', _('Top Aligned')), ]
This will generate a class prefixed with align-
. The example above
would produce a class="align-top"
. Adding a class
key to the image
attributes automatically merges the alignment with the attribute class.
You can use DJANGOCMS_PICTURE_RATIO
to set the width/height ratio of images
if these values are not set explicitly on the image:
DJANGOCMS_PICTURE_RATIO = 1.618
We use the golden ratio, approximately 1.618, as a default value for this.
When working out sizes for the image, the system will use the following values, of preference:
- the width or height set in the Thumbnail options
- Autoscale
- the Width and Height
We recommend setting width or height values around a placeholder so when the plugin uses Autoscale it can discover them:
{% with 720 as width and 480 as height %} {% placeholder content %} {% endwith %}
Further configuration can be managed through django Filer.
Run tests by executing:
virtualenv env source env/bin/activate pip install -r tests/requirements.txt python setup.py test