Skip to main content
Help improve PyPI by participating in a 5-minute user interface survey!

Djangocms plugin for masonry

Project Description

djangocms-masonry is a reuseable plugin for django-cms that implements the JavaScript Masonry library.

Dependencies

  • Djangocms>=3.0
  • Django>=1.6

Installation

Install djangocms-masonry from Pypi.

pip install djangocms-masonry

Add Djangocms_masonry to INSTALLED_APPS

INSTALLED_APPS = (
    ...
    'djangocms_masonry',
    ...
)

Django 1.6 and/or South users will need to add the following to ensure migration compatibility.

SOUTH_MIGRATION_MODULES = {
    ...
    'djangocms_masonry': 'djangocms_masonry.south_migrations',
    ...
}

Configuration

CSS classes can be added to the plugin via a select box by using the DJANGOCMS_MASONRY_STYLES settings tuple.

DJANGOCMS_MASONRY_STYLES = (
    ('style1', 'Style 1'),
    ('style2', 'Style 2'),
)

djangocms_masonry/default.html is rendered by default. The user can select custom templates if the following tuple is set as the example below demonstrates.

DJANGOCMS_MASONRY_TEMPLATES = (
    ('template1', 'Template 1'),
    ('template2', 'Template 2'),
)

Restrict the plugins available to Masonry Carousel

DJANGOCMS_MASONRY_CHILD_CLASSES = (
    'PicturePlugin',
)

Include or exclude static files

DJANGOCMS_MASONRY_INCLUDE_JS_MASONRY = True

Templates

base.html includes all the JavaScript and CSS needed to run the masonry plugin, but it does not render the HTML. Custom templates can extend base.html as long as they define a plugin block containing the html and plugin render code as show in the below example.

{% extends 'djangocms_masonry/base.html' %}
{% load cms_tags %}

{% block plugin %}
  <div class="masonry-plugin plugin{% if style %} {{ style }}{% endif %}" id="plugin-{{ instance.pk }}">
    <div class="row">
      <div class="small-12 columns">

        <div class="masonry-grid">
          <div class="grid-sizer"></div>
          <div class="gutter-sizer"></div>
          {% for plugin in instance.child_plugin_instances %}
            <div class="grid-item">
              {% render_plugin plugin %}
            </div>
          {% endfor %}
        </div>

      </div>
    </div>
  </div>
{% endblock plugin %}

Contributions

  • Lee Solway

History

0.1.0 (2015-07-24)

  • First release on PyPI

Release history Release notifications

This version
History Node

0.1.0

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Filename, size & hash SHA256 hash help File type Python version Upload date
djangocms-masonry-0.1.0.tar.gz (41.1 kB) Copy SHA256 hash SHA256 Source None Jul 24, 2015

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page