This is a Django integration of Fancybox.
First install the module, preferably in a virtual environment. It can be installed from PyPI:
pip install django-fancybox- jQuery - This is not included in the package since it is expected that in most scenarios this would already be available.
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 collectstaticExtend base template for ajax requests
{% extends request.headers.x_requested_with|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.
If you like this module, forked it, or would like to improve it, please let us know! Pull requests are welcome too. :-)
django-fancybox is released under the BSD license.