﻿id	summary	reporter	owner	description	type	status	component	version	severity	resolution	keywords	cc	stage	has_patch	needs_docs	needs_tests	needs_better_patch	easy	ui_ux
15260	CACHE_MIDDLEWARE_ANONYMOUS_ONLY doesn't do anything when used with @cache_page in Django 1.2.5	Brodie Rao	nobody	"As of [15382], setting CACHE_MIDDLEWARE_ANONYMOUS_ONLY to True and using @cache_page on a view will unconditionally cache the view's response, even for logged in users, and even when request.user is accessed.

For example:

{{{
#!python
@cache_page(60 * 15)
def view(request):
    request.user
    return HttpResponse('')
}}}

The response will be cached unconditionally, even for logged in requests. The headers will look like this:

{{{
#!python
[('Expires', 'Thu, 10 Feb 2011 02:53:28 GMT'),
 ('Vary', 'Cookie'),
 ('Last-Modified', 'Thu, 10 Feb 2011 02:38:28 GMT'),
 ('ETag', '""ee11cbb19052e40b07aac0ca060c23ee""'),
 ('Cache-Control', 'max-age=900'),
 ('Content-Type', 'text/html; charset=utf-8')]
}}}

Setting the decorators to @vary_on_cookie and then @cache_page results in the same thing. Flipping the order and setting them to @cache_page followed by @vary_on_cookie results in the correct behavior (no caching).

Also, the release notes for 1.2.5 make no mention of the changes introduced by [15382]."		closed	Core (Cache system)	1.2		fixed	session vary cookie blocker regression		Accepted	1	0	0	0	0	0
