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


Download files

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

Files for djangocms-flexslider, version 1.0.0
Filename, size File type Python version Upload date Hashes
Filename, size djangocms_flexslider-1.0.0-py2-none-any.whl (132.6 kB) File type Wheel Python version py2 Upload date Hashes View
Filename, size djangocms-flexslider-1.0.0.tar.gz (120.3 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page