Skip to main content

Simple Slideshow application

Project description

A Django application to make slideshows.

Very simple, you can have multiple Slideshows, and each of them have their own slides. Slides can be ordered and they contains a title, an optional content text, an optional URL and an image.

Slideshows can use custom templates and can use a custom config templates. Config templates are used to contains some Javascript to configure/initialize your slideshow with your slider library. By default, a Slideshow item have no config template, this is optional.

There is no dedicated view to display them, only a template tag to use in your templates or plugins to use with django-cms.

Although it has been developed for Orbit Foundation 3 slider, it does not contains any assets to integrate it in your site, this is at your responsability to integrate it (add your assets where your need, customise the template, etc..).

Require

Optional

South migration is supported. This is not required, but strongly recommended for future updates.

Install

Add it to your installed apps in the settings :

INSTALLED_APPS = (
    ...
    'slideshows',
    ...
)

Then add the following settings :

# Available templates to display a slideshow
SLIDESHOWS_TEMPLATES = (
    ("slideshows/slides_show/default.html", "Default template"),
)

# Available config file to initialize your slideshow Javascript stuff
SLIDESHOWS_CONFIGS = (
    ("slideshows/slides_show/configs/default.html", "Default config"),
)

You can fill entries with your custom templates if needed.

And finally add the new models to your database :

./manage.py syncdb

If DjangoCMS is installed (this should be as djangocms_text_ckeditor require it), a plugin will be available to use slideshows in your pages.

Update

If you have installed South, after updating an existing install to a major new version you can automatically update your database :

./manage.py migrate slideshows

Usage

Either with the template tag or the cms plugin, the process to build the HTML will be to generate the optional config HTML if any, then generate the content HTML (where the config HTML would be avalaible as a context variable).

With the template tag

Create your slideshow from the admin, feed it with some slides, then use it in your templates :

{% load slideshows_tags %}
...
{% slideshow_render 'your-slug' %}

The first argument accept either a slug string or a Slideshow instance.

Also you can override the content template and the config template saved within the template tag :

{% load slideshows_tags %}
...
{% slideshow_render 'your-slug' 'slideshows/slides_show/custom.html' 'slideshows/slides_show/configs/custom.html' %}

(Use 'None' as the second argument if you just want to override the config template).

Note that if the given Slideshow slug does not exist, this will raise a Http404.

With the cms plugins

Just go to the pages admin, and use the plugin you want in a placeholder content. You will have to select a Slideshow that will be used in your page.

There is actually two plugins :

  • Slides show : the default one to display your slides in a slideshow, it use the template defined in the slideshow object (or the default template if empty);

  • Random single slide : to display only one random slide, it will never use the template defined in the slideshow object, instead it will use the template “slideshows/random_slide/default.html”. And unlike the Slides show plugin it don’t embed a javascript config template because this is not really useful for a simple slide;

Templates

Slideshow content templates will have the following context variables :

  • slideshow_js_config : the generated config template if any, else an empty string;

  • slideshow_instance : the Slideshow model instance;

  • slideshow_slides : a queryset of published slides for the Slideshow instance;

Slideshow config templates will have the following context variables :

  • slideshow_instance : the Slideshow model instance;

  • slideshow_slides : a queryset of published slides for the Slideshow instance;

This is available for the template tag and the cms plugin.

Project details


Download files

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

Source Distribution

emencia-django-slideshows-0.7.2.tar.gz (13.2 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page