I usually create a page in my CMS that is not published, but contains placeholders that I would like to use elsewhere (footer / headers), etc.
Create a new extra_placeholders.html template:
{% extends "base.html" %} {% load cms_tags %} {% block content %} {% placeholder "Banner-List" %} {% endblock %}
add it to your settings:
CMS_TEMPLATES = ( ('my/path/extra_placeholders.html', 'Extra Placeholder Page'), ... )
now go to admin and create a placeholder with any plugin you want. Then go to the base template ( * base.html ) from which all your other pages are inherited, and add this wherever you want the placeholder to appear:
{% load cms_tags %} ... {% show_placeholder "Banner-List" "extra_placeholders" %}
You can learn more about this in the documents.
EDIT
As José L. Patiño noted in the comments, this solution is only necessary for those using django-cms <3.0. For a newer version, you can simply use the static_placeholder tag
source share