Skip to content

Latest commit

 

History

History
100 lines (63 loc) · 2.52 KB

README.rst

File metadata and controls

100 lines (63 loc) · 2.52 KB

django-fancybox

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.