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.
Teaser
Available on GitHub (divio/djangocms-teaser) and on PyPi (djangocms-teaser).
Displays a teaser box for another page or a URL. A picture and a description can be added.
Please install it using pip
or similar and be sure you have the following in the INSTALLED_APPS
settings in your project’s settings.py
file:
INSTALLED_APPS = (
# ...
'djangocms_teaser',
# ...
)
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_teaser
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
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.