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.

Files for django-cache-headers, version 0.1
Filename, size File type Python version Upload date Hashes
Filename, size django_cache_headers-0.1-py2.7.egg (19.6 kB) File type Egg Python version 2.7 Upload date Hashes View hashes
Filename, size django-cache-headers-0.1.tar.gz (7.4 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page