Skip to main content

Django app that caches CDN files for use when coding offline

Project description

This app is to help in those situations where you can’t get on the network but you want to write some Django code. Surround your static CDN references (like jquery and the like) with this template tag and when you turn it on the URLs will be re-written from a local copy.

Installation

In your settings file, add ‘airplane’ to your settings.INSTALLED_APPS field and make the following additions:

import airplane

STATICFILES_DIRS = (
    os.path.join(BASE_DIR, airplane.CACHE_DIR),
)

AIRPLANE_MODE = airplane.BUILD_CACHE
#AIRPLANE_MODE = airplane.USE_CACHE

Now use the airplane tag in your templates

{% load airplanetags %}

<html>
    <head>
        <link rel="stylesheet"
            href="{% airplane 'https://maxcdn.bootstrapcdn.com/bootstrap.min.css' %}">
    </head>
</html>

Change the AIRPLANE_MODE setting to airplane.USE_CACHE and subsequent calls to the {% airplane %} tag will return a reference to the locally cached version.

Settings

Airplane only does something if DEBUG=True and if you have an AIRPLANE_MODE value set to either airplane.BUILD_CACHE or airplane.USE_CACHE. If one of these conditions is not met, the tag simply returns the value passed in.

For example, if DEBUG=False and your template contains:

<link rel="stylesheet"
    href="{% airplane 'https://maxcdn.bootstrapcdn.com/bootstrap.min.css' %}">

Then the above snippet renders as:

<link rel="stylesheet"
    href="https://maxcdn.bootstrapcdn.com/bootstrap.min.css">

When AIRPLANE_MODE is set to airplane.BUILD_CACHE any URLs passed in are fetched and their contents added to a local cache. The default local cache is .airport_cache relative to the base directory of your project.

You can change the location of the cache by setting AIRPLANE_CACHE. The setting accepts either fully qualified paths or paths relative to the project’s base directory.

Once you have cached all the files you are using, switch AIRPLANE_MODE to airplane.USE_CACHE. All URLs are now re-written to point to the contents of the local cache.

Supports

django-airplane has been tested with:

  • Python 2.7, 3.6 and Django 1.11

  • Python 3.6, 3.7 and Django 2.0.2

  • Python 3.6, 3.7 and Django 2.1.2

Older versions of Django should still work but aren’t tested against.

Docs

Docs available at: http://django-airplane.readthedocs.io/en/latest/

Source: https://github.com/cltrudeau/django-airplane

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django-airplane-0.3.0.tar.gz (6.2 kB view details)

Uploaded Source

Built Distribution

django_airplane-0.3.0-py2.py3-none-any.whl (9.8 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file django-airplane-0.3.0.tar.gz.

File metadata

  • Download URL: django-airplane-0.3.0.tar.gz
  • Upload date:
  • Size: 6.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.8.1 pkginfo/1.4.1 requests/2.13.0 setuptools/34.3.2 requests-toolbelt/0.7.1 clint/0.5.1 CPython/3.6.1 Darwin/17.7.0

File hashes

Hashes for django-airplane-0.3.0.tar.gz
Algorithm Hash digest
SHA256 67fe2f48e0295749785de25976d8e13a7b19e5ca5a51751f86f024d89303a024
MD5 63e4cc20645144b2d88513d4a75cc803
BLAKE2b-256 44986788cb0891e7264261e482f10de5c0def5e0ff95562072156c46750c95d1

See more details on using hashes here.

File details

Details for the file django_airplane-0.3.0-py2.py3-none-any.whl.

File metadata

  • Download URL: django_airplane-0.3.0-py2.py3-none-any.whl
  • Upload date:
  • Size: 9.8 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.8.1 pkginfo/1.4.1 requests/2.13.0 setuptools/34.3.2 requests-toolbelt/0.7.1 clint/0.5.1 CPython/3.6.1 Darwin/17.7.0

File hashes

Hashes for django_airplane-0.3.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 62fae9dfd5d857467aee2ff740124051b5ddadd8c537bb2776ee800bccb04a36
MD5 fd19a0fd5533f8fecf8dd4e65c8a8120
BLAKE2b-256 c96bfe0578fa258972561dd470bd2903f97cb253819a92778351b62f337e1be1

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page