Some commonly-used plugins¶
Warning
In version 3 of the CMS we removed all the plugins from the main repository into separate repositories to continue their development there. you are upgrading from a previous version. Please refer to Upgrading from previous versions
These are the recommended plugins to use with django CMS.
-
class
djangocms_file.cms_plugins.
FilePlugin
¶
Important
See the note on The INSTALLED_APPS setting about ordering.
File¶
Available on GitHub (divio/djangocms-file) and on PyPi (djangocms-file).
Allows you to upload a file. A file-type icon will be assigned based on the file extension.
Please install it using pip
or similar and be sure you have the following in the INSTALLED_APPS
setting in your project’s settings.py
file:
INSTALLED_APPS = (
# ...
'djangocms_file',
# ...
)
You should take care that the directory defined by the configuration setting
CMS_PAGE_MEDIA_PATH
(by default cms_page_media/
relative to
MEDIA_ROOT
) is writeable by the user under which django will be
running.
You might consider using django-filer with django filer CMS plugin and its
cmsplugin_filer_file
component instead.
Warning
The djangocms_file
file plugin only works with local storages. If you need
more advanced solutions, please look at alternative file plugins for the
django CMS, such as django-filer.
GoogleMap¶
Available on GitHub (divio/djangocms-googlemap) and on PyPi (djangocms-googlemap).
Displays a map of an address on your page.
Both address and coordinates are supported to centre the map; zoom level and route planner can be set when adding/editing plugin in the admin.
New in version 2.3.2: width/height parameter has been added, so it’s no longer required to set plugin container size in CSS or template.
Changed in version 2.3.2: Zoom level is set via a select field which ensure only legal values are used.
Note
Due to the above change, level field is now marked as NOT NULL, and a data migration has been introduced to modify existing Googlemap plugin instance to set the default value if level if is NULL.
Please install it using pip
or similar and be sure you have the following in the INSTALLED_APPS
setting in your project’s settings.py
file:
INSTALLED_APPS = (
# ...
'djangocms_googlemap',
# ...
)
-
class
djangocms_picture.cms_plugins.
PicturePlugin
¶
Picture¶
Available on GitHub (divio/djangocms-picture) and on PyPi (djangocms-picture).
Displays a picture in a page.
Please install it using pip
or similar and be sure you have the following in the INSTALLED_APPS
setting in your project’s settings.py
file:
INSTALLED_APPS = (
# ...
'djangocms_picture',
# ...
)
There are several solutions for Python and Django out there to automatically re-size your pictures, you can find some on Django Packages and compare them there.
In your project template directory create a folder called cms/plugins
and
in it create a file called picture.html
. Here is an example
picture.html
template using easy-thumbnails:
{% load thumbnail %}
{% if link %}<a href="{{ link }}">{% endif %}
{% if placeholder == "content" %}
<img src="{% thumbnail picture.image 300x600 %}"{% if picture.alt %} alt="{{ picture.alt }}"{% endif %} />
{% else %}
{% if placeholder == "teaser" %}
<img src="{% thumbnail picture.image 150x150 %}"{% if picture.alt %} alt="{{ picture.alt }}"{% endif %} />
{% endif %}
{% endif %}
{% if link %}</a>{% endif %}
In this template the picture is scaled differently based on which placeholder it was placed in.
You should take care that the directory defined by the configuration setting
CMS_PAGE_MEDIA_PATH
(by default cms_page_media/
relative to
MEDIA_ROOT
) is writeable by the user under which django will be
running.
Note
In order to improve clarity, some Picture fields have been omitted in the example template code.
Note
For more advanced use cases where you would like to upload your media
to a central location, consider using django-filer with
django filer CMS plugin and its cmsplugin_filer_image
component
instead.
Text¶
Consider using djangocms-text-ckeditor for displaying text. You may of course use your preferred editor; others are available.
-
class
djangocms_video.cms_plugins.
VideoPlugin
¶
Video¶
Available on GitHub (divio/djangocms-video) and on PyPi (djangocms-video).
Plays Video Files or YouTube / Vimeo Videos. Uses the OSFlashVideoPlayer. When uploading videos use either
.flv
files or H264 encoded video files.
Please install it using pip
or similar and be sure you have the following in your project’s
INSTALLED_APPS
setting:
INSTALLED_APPS = (
# ...
'djangocms_video',
# ...
)
There are some settings you can set in your settings.py
to overwrite some
default behaviour:
VIDEO_AUTOPLAY
((default:False
)VIDEO_AUTOHIDE
(default:False
)VIDEO_FULLSCREEN
(default:True
)VIDEO_LOOP
(default:False
)VIDEO_AUTOPLAY
(default:False
)VIDEO_BG_COLOR
(default:"000000"
)VIDEO_TEXT_COLOR
(default:"FFFFFF"
)VIDEO_SEEKBAR_COLOR
(default:"13ABEC"
)VIDEO_SEEKBARBG_COLOR
(default:"333333"
)VIDEO_LOADINGBAR_COLOR
(default:"828282"
)VIDEO_BUTTON_OUT_COLOR
(default:"333333"
)VIDEO_BUTTON_OVER_COLOR
(default:"000000"
)VIDEO_BUTTON_HIGHLIGHT_COLOR
(default:"FFFFFF"
)
You should take care that the directory defined by the configuration setting
CMS_PAGE_MEDIA_PATH
(by default cms_page_media/
relative to
MEDIA_ROOT
) is writeable by the user under which django will be
running.
Note
For more advanced use cases where you would like to upload your media
to a central location, consider using django-filer with
django filer CMS plugin and its cmsplugin_filer_video
component
instead.
-
class
djangocms_twitter.cms_plugins.
TwitterRecentEntriesPlugin
¶
-
class
djangocms_twitter.cms_plugins.
TwitterSearchPlugin
¶
Twitter¶
We recommend one of the following plugins:
Warning
These plugins are not currently compatible with Django 1.7.
-
class
djangocms_inherit.cms_plugins.
InheritPagePlaceholderPlugin
¶
Inherit¶
Available on GitHub (divio/djangocms-inherit) and on PyPi (djangocms-inherit).
Displays all plugins of another page or another language. Great if you always need the same plugins on a lot of pages.
Please install it using pip
or similar and be sure you have the following in your project’s
INSTALLED_APPS
setting:
INSTALLED_APPS = (
# ...
'djangocms_inherit',
# ...
)
Warning
The inherit plugin cannot be used in non-cms placeholders.