Skip to main content

Configurable middleware to add HTTP caching headers for URL's.

Project description

Django Cache Headers

Travis

Overview

Django Cache Headers allows you to set HTTP caching headers for URL patterns according to certain policies. It does not perform any caching itself - it merely sets the headers on the response which are then interpreted by eg. Nginx.

Installation

  1. Install or add django-cache-headers to your Python path.

  2. Add cache_headers to your INSTALLED_APPS setting.

  3. Add cache_headers.middleware.CacheHeadersMiddleware before SessionMiddleware and AuthenticationMiddleware to your MIDDLEWARE_CLASSES setting.

Policies

Django Cache Headers provides four caching policies. You may define your own policies.:

  1. all-users - response is marked as cached once for all users.

  2. anonymous-only - response is marked as cached once only for anonymous users.

  3. anonymous-and-authenticated - response is marked as cached once for anonymous users and once for authenticated users.

  4. per-user - response is marked as cached once for anonymous users and for each authenticated user individually.

Settings

The timeouts key combines the policy, timeout in seconds and URL regexes in a nested dictionary:

CACHE_HEADERS = {
    "timeouts": {
        "all-users": {
            60: (
                "^/all-users/",
            )
        },
        "anonymous-only": {
            60: (
                "^/anonymous-only/",
            )
        },
        "anonymous-and-authenticated": {
            60: (
                "^/anonymous-and-authenticated/",
            )
        },
        "per-user": {
            60: (
                "^/per-user/",
            )
        },
        "custom-policy": {
            60: (
                "^/custom-policy/",
            )
        }
    }
}

Authors

Praekelt Consulting

  • Hedley Roos

Changelog

0.1

  1. Initial release.

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-cache-headers-0.1.tar.gz (7.4 kB view details)

Uploaded Source

Built Distribution

django_cache_headers-0.1-py2.7.egg (19.6 kB view details)

Uploaded Source

File details

Details for the file django-cache-headers-0.1.tar.gz.

File metadata

File hashes

Hashes for django-cache-headers-0.1.tar.gz
Algorithm Hash digest
SHA256 b61c364ba0da755aa2af56fad1978c9b0bdc9d1c33bfbf0724bf31ad6d99bdf8
MD5 fb30b2202e9e4cb68faf280323bde5c9
BLAKE2b-256 22a9dbcc44c002c40d0ba9ed55171bccf9fbf7f4794ac40852d007bd98d0a380

See more details on using hashes here.

File details

Details for the file django_cache_headers-0.1-py2.7.egg.

File metadata

File hashes

Hashes for django_cache_headers-0.1-py2.7.egg
Algorithm Hash digest
SHA256 1fe91aa9cc94959475598dc094539c3d12973c9b0d991de7cd71b0161eddf193
MD5 0a37abf890a6039b5af651ea1fac0386
BLAKE2b-256 3c7bec8a56f4dd44bb7bd2b9ecfb4783b3d2035fd59aced5f65509410e4c06d4

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