Caching in Django in practice: Redis backend, cache_page and template fragments
How do you set up caching in Django in practice?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | # ====================================================================== # Q: How do you set up caching in Django in practice? # ====================================================================== # settings.py (Django 4.0+ has a native Redis backend) CACHES = {'default': { 'BACKEND': 'django.core.cache.backends.redis.RedisCache', 'LOCATION': 'redis://redis:6379/1', 'KEY_PREFIX': 'shop', 'TIMEOUT': 300}} @cache_page(60 * 5) # whole page @vary_on_headers('Accept-Language') def category(request, slug): ... {% load cache %} {# template fragment #} {% cache 600 sidebar request.user.id %} ... {% endcache %} |