Other problems with caching are the privacy of data and the question of where data should be stored in a cascade of caches. A user usually faces two kinds of caches: their own browser cache (a private cache) and their provider's cache (a public cache).
A public cache is used by multiple users and controlled by someone else. This poses problems with sensitive data-you don't want, say, your bank account number stored in a public cache. So web applications need a way to tell caches which data is private and which is public.
The solution is to indicate a page's cache should be private. To do this in Django, use the cache_control
view decorator. Example:
from django.views.decorators.cache import cache_control @cache_control(private=True) def my_view(request): # ...
This decorator takes care of sending out the appropriate HTTP header behind the scenes. Note that the cache control settings private
and public
are mutually exclusive...