Skip to main content

A Django CMS image slider plugin that uses FlexSlider.

Project description

https://travis-ci.org/tdsymonds/djangocms-flexslider.svg?branch=master https://coveralls.io/repos/github/tdsymonds/djangocms-flexslider/badge.svg?branch=master&t=1 https://img.shields.io/badge/pypi-v1.0.0-blue.svg https://img.shields.io/badge/license-MIT%20License-red.svg

djangocms-flexslider

This is a simple django-cms plugin that implements the JavaScript FlexSlider library.

Dependencies

  • django>=1.8
  • django-cms>=3.2

Installation

To install:

pip install djangocms-flexslider

Then add djangocms-flexslider to your installed apps:

INSTALLED_APPS = [
    ...
    'djangocms_flexslider',
    ...
]

If you’re not already using django-filer, easy-thumbnails and djangocms-text-ckeditor then these too will need to be added to your installed apps:

INSTALLED_APPS = [
    ...
    'djangocms_text_ckeditor',
    'easy_thumbnails',
    'filer',
    ...
]

And run the migrations:

./manage.py migrate

The package assume that jQuery has been added to the site already. So if you’re not using already, please add to you templates/base.html:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>

Configuration

The FlexSlider JS and CSS are by default loaded from the below CDN. If you wish to override this, this can be done in your settings.py file by adding the below with your updated URLs. This is optional.

DJANGOCMS_FLEXSLIDER = {
    'JS_URL': 'https://cdnjs.cloudflare.com/ajax/libs/flexslider/2.6.1/jquery.flexslider.min.js',
    'CSS_URL': 'https://cdnjs.cloudflare.com/ajax/libs/flexslider/2.6.1/flexslider.min.css'
}

Usage

The slider plugin is added to page, where the configuration for the slider is set. The settings allow you to add a carousel thumbnail slider if you wish, you are also provided the ability to pass the JSON config for both the carousel and the slider.

There are many FlexSlider examples on their site, or you can view the full FlexSlider properties. The configuration JSON object is optional, so you have no obligation to provide this. A simple example of the config with a carousel is provided below.

Once the slider has been setup, slides are added by adding child slide plugins to the slider. Each slide has to have an image, (I’ve used django-filer for the images), and can optionally have an explicit height and/or width, a caption, url link or page link as well.

Example JSON Config

Slider:

{
  animation: "slide",
  smoothHeight: true,
  controlNav: false,
  animationLoop: false,
  slideshow: false,
  sync: "#carousel"
}

Carousel:

{
  animation: "slide",
  controlNav: false,
  animationLoop: false,
  slideshow: false,
  itemWidth: 210,
  itemMargin: 5,
  asNavFor: '#slider'
}

Project details


Release history Release notifications

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_flexslider-1.0.0-py2-none-any.whl (132.6 kB) Copy SHA256 hash SHA256 Wheel py2 Jun 16, 2016
djangocms-flexslider-1.0.0.tar.gz (120.3 kB) Copy SHA256 hash SHA256 Source None Jun 16, 2016

Supported by

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