Skip to main content

Django context cache library.

Project description

Prolog

Django-context-cache extends the Django framework with a context cache that caches data per request or per decorated block.

Installation

  • Install django-context-cache with the pip command:
pip install django-context-cache
  • Add 'context_cache.middleware.ContextCacheMiddleware' to your MIDDLEWARE:
MIDDLEWARE = [
    'context_cache.middleware.ContextCacheMiddleware',
    ...
]

Usage

Imagine having an function or method which result you want to cache per request:

import random
import string
from context_cache.decorators import cache_for_context

@cache_for_context
def get_random_string():
    letters = string.ascii_lowercase
    return ''.join(random.choice(letters) for i in range(10))

If you call function get_random_string more times the value will be get from cache:

def view(request):
    get_random_string() == get_random_string() # should return True

If you want to cache an function out of requests, for example in the django command you can use the decorator init_context_cache. The decorator can be used as a context processor too:

from django.core.management.base import BaseCommand, CommandError
from context_cache.decorators import init_context_cache

class Command(BaseCommand):
    
    @init_context_cache
    def handle(self, *args, **options):
        get_random_string() == get_random_string() # should return True

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-context-cache-0.0.2.tar.gz (7.6 kB view details)

Uploaded Source

File details

Details for the file django-context-cache-0.0.2.tar.gz.

File metadata

  • Download URL: django-context-cache-0.0.2.tar.gz
  • Upload date:
  • Size: 7.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.15.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.7.3

File hashes

Hashes for django-context-cache-0.0.2.tar.gz
Algorithm Hash digest
SHA256 55db3d85698a5ef053b6e4aaf01cd1e2d84958411c684b41041f0b97c03637da
MD5 969450fad4ed421ace6d8ef8191f3d01
BLAKE2b-256 7eef2cf5a09a965df797969cfd7d4a50937ee47ea68bee8d4d225688104ca28c

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