Metadata-Version: 2.4
Name: django-fancybox
Version: 0.1.8
Summary: Simple fancybox modal for Django
Author-email: Basil Shubin <basil.shubin@gmail.com>
License-Expression: BSD-3-Clause
Project-URL: download, https://github.com/bashu/django-fancybox/zipball/master
Project-URL: homepage, https://github.com/bashu/django-fancybox/
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Web Environment
Classifier: Framework :: Django
Classifier: Framework :: Django :: 5.2
Classifier: Framework :: Django :: 6.0
Classifier: Framework :: Django :: 6.1
Classifier: Intended Audience :: Developers
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Topic :: Internet :: WWW/HTTP
Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.10
Description-Content-Type: text/x-rst
License-File: LICENSE
Requires-Dist: django>=5.2
Dynamic: license-file

django-fancybox
===============


.. image:: https://badge.fury.io/py/django-fancybox.svg
    :target: https://badge.fury.io/py/django-fancybox

.. image:: https://img.shields.io/pypi/pyversions/django-fancybox.svg
    :target: https://pypi.python.org/pypi/django-fancybox/

.. image:: https://img.shields.io/pypi/djversions/django-fancybox.svg
    :target: https://pypi.python.org/pypi/django-fancybox/

.. image:: https://github.com/bashu/django-fancybox/actions/workflows/test.yml/badge.svg
    :target: https://github.com/bashu/django-fancybox/actions/workflows/test.yml

This is a Django_ integration of Fancybox_.

Installation
------------

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

.. code-block:: shell

    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``:

.. code-block:: python

    INSTALLED_APPS += (
        'fancybox',
    )

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

.. code-block:: python

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

and just include ``fancybox`` templates

.. code-block:: html+django

    {% 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 :

.. code-block:: shell

    python manage.py collectstatic

Usage
-----

Extend base template for ajax requests

.. code-block:: html+django

    {% 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

.. code-block:: html+django

    <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.

.. _django: https://www.djangoproject.com/
.. _fancybox: http://fancyapps.com/fancybox/

Changes
-------

0.1.7 (2026-08-14)
~~~~~~~~~~~~~~~~~~

* Migrate packaging to ``pyproject.toml`` and modern tooling (ruff, pre-commit, tox, versionflow).
