Login

vary_on_user

Author:
TAH
Posted:
April 28, 2014
Language:
Python
Version:
1.6
Tags:
decorator vary_on_cookie
Score:
0 (after 1 ratings)

@vary_on_user doesn't work properly if your site uses third-party cookies, since the cache key is created from all of the cookies in the request header. This decorator caches pages based on the user ID, so it works reliably.

1
2
3
4
5
6
7
8
    def vary_on_user(view):
        @wraps(view, assigned=available_attrs(view))
        def inner_func(request, *args, **kwargs):
            request.META['HTTP_DJANGO_USERID'] = request.user.id
            response = view(request, *args, **kwargs)
            patch_vary_headers(response, ('DJANGO_USERID',))
            return response
        return inner_func

More like this

  1. Cache Decorator by ericmoritz 6 years, 8 months ago
  2. Function cache decorator by bradbeattie 2 years, 9 months ago
  3. Cached model property decorator (like @property) by homunq 3 years, 9 months ago
  4. Stales Cache Class Method Decorator by amitu 6 years, 10 months ago
  5. Conditional cache decorator by alexisbellido 3 years ago

Comments

Please login first before commenting.