Login

vary_on_user

Author:
TAH
Posted:
April 28, 2014
Language:
Python
Version:
1.6
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. Template tag - list punctuation for a list of items by shapiromatron 11 months, 2 weeks ago
  2. JSONRequestMiddleware adds a .json() method to your HttpRequests by cdcarter 11 months, 3 weeks ago
  3. Serializer factory with Django Rest Framework by julio 1 year, 6 months ago
  4. Image compression before saving the new model / work with JPG, PNG by Schleidens 1 year, 7 months ago
  5. Help text hyperlinks by sa2812 1 year, 7 months ago

Comments

Please login first before commenting.