bashu / django-fancybox

🎁 Simple fancybox modal for Django

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

django-fancybox

image

image

image

This is a Django integration of Fancybox.

Installation

First install the module, preferably in a virtual environment. It can be installed from PyPI:

pip install django-fancybox

External dependencies

  • jQuery - This is not included in the package since it is expected that in most scenarios this would already be available.

Setup

Add fancybox to INSTALLED_APPS:

INSTALLED_APPS += (
    'fancybox',
)

Be sure you have the django.template.context_processors.request processor

TEMPLATES = [
    {
        ...
        'OPTIONS': {
            'context_processors': [
                ...
                'django.template.context_processors.request',
            ],
        },
    },
]

and just include fancybox templates

{% include "fancybox/fancybox_css.html" %} {# Before the closing head tag #}
{% include "fancybox/fancybox_js.html" %} {# Before the closing body tag #}

When deploying on production server, don't forget to run :

python manage.py collectstatic

Usage

Extend base template for ajax requests

{% extends request.is_ajax|yesno:"fancybox/base.html,base.html" %}

Add class="fancybox" to a link, and set the href to a page you want to display

<a data-fancybox data-type="ajax" href="{% url 'remote.html' %}" class="fancybox">Click here</a>

Please see example application. This application is used to manually test the functionalities of this package. This also serves as a good example.

You need only Django 1.4 or above to run that. It might run on older versions but that is not tested.

Contributing

If you like this module, forked it, or would like to improve it, please let us know! Pull requests are welcome too. :-)

License

django-fancybox is released under the BSD license.

About

🎁 Simple fancybox modal for Django

License:BSD 3-Clause "New" or "Revised" License


Languages

Language:Python 54.1%Language:HTML 45.9%