@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
- New Snippet! by Antoliny0919 4 days, 16 hours ago
- Add Toggle Switch Widget to Django Forms by OgliariNatan 2 months, 3 weeks ago
- get_object_or_none by azwdevops 6 months, 2 weeks ago
- Mask sensitive data from logger by agusmakmun 8 months, 1 week ago
- Template tag - list punctuation for a list of items by shapiromatron 1 year, 10 months ago
Comments
Please login first before commenting.