Metadata-Version: 2.1
Name: django-staticfiles-downloader
Version: 1.0.0
Summary: Django staticfiles extension to download third-party static files
Home-page: https://github.com/misli/django-staticfiles-downloader
License: BSD-3-Clause
Author: Jakub Dorňák
Author-email: jakub.dornak@misli.cz
Requires-Python: >=3.6,<4
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Web Environment
Classifier: Framework :: Django
Classifier: Framework :: Django :: 3.1
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: BSD License
Classifier: Natural Language :: English
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Requires-Dist: Django (>=3.0,<4)
Project-URL: Repository, https://github.com/misli/django-staticfiles-downloader
Description-Content-Type: text/x-rst

-----------------------------
django-staticfiles-downloader
-----------------------------

``django-staticfiles-downloader`` provides ``staticfiles_downloader.DownloaderFinder``,
an extension of ``django.contrib.staticfiles``, which allows you to specify static files
with urls and optionaly checksum in your Django application or Django project settings.
This is particularly useful, when using third-party static files, if you don't want to
either include the files in your project nor depend on CDN in runtime.

The static files are collected with ``python manage.py collectstatic``.

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

.. code-block:: bash

    pip install  django-staticfiles-downloader


Configuration
-------------

Add ``staticfiles_downloader.DownloaderFinder`` to ``settings.STATICFILES_FINDERS``:

.. code-block:: python

    STATICFILES_FINDERS = [
        'django.contrib.staticfiles.finders.FileSystemFinder',
        'django.contrib.staticfiles.finders.AppDirectoriesFinder',
        'staticfiles_downloader.DownloaderFinder',
    ]

Define static files urls in your Django application
...................................................

.. code-block:: python

    # your_app/__init__.py
    staticfiles_urls = {
        # use only url
        'my_app/js/jquery-3.2.1.min.js': 'https://code.jquery.com/jquery-3.2.1.min.js',
        # or use url and checksum
        'my_app/js/jquery-2.2.4.min.js': (
            'https://code.jquery.com/jquery-2.2.4.min.js',
            'sha384',
            'rY/jv8mMhqDabXSo+UCggqKtdmBfd3qC2/KvyTDNQ6PcUJXaxK1tMepoQda4g5vB',
        ),
    }

Define static files urls in your Django project settings
........................................................

.. code-block:: python

    # your_project/settings.py
    STATICFILES_URLS = {
        # use only url
        'js/jquery-3.2.1.min.js': 'https://code.jquery.com/jquery-3.2.1.min.js',
        # or use url and checksum
        'js/jquery-2.2.4.min.js': (
            'https://code.jquery.com/jquery-2.2.4.min.js',
            'sha384',
            'rY/jv8mMhqDabXSo+UCggqKtdmBfd3qC2/KvyTDNQ6PcUJXaxK1tMepoQda4g5vB',
        ),
    }

