hi,

when using the django admin interface,
the logout does not work in opera.


after some investigation, i found the problem (and also the solution).

it seems that opera caches the pages quite aggressively..

by default, django-admin does not send any cache-headers.

so opera caches every page. also the logout page, so when one clicks on 
the logout link, it's simply not submitted.

the easiest solution i found is to add the cache middleware and set the 
cache-timeout to zero.

my config:

MIDDLEWARE_CLASSES = (
     "django.middleware.cache.CacheMiddleware",
     "django.middleware.common.CommonMiddleware",
     "django.middleware.sessions.SessionMiddleware",
     "django.middleware.doc.XViewMiddleware",
)

CACHE_MIDDLEWARE_SECONDS=0

this causes that the pages are sent with the following header:

Cache-Control: max-age=0

and with this,opera is not caching the pages anymore.

i don't know what's the correct behavior from the http point of view (if 
a page does not specify any cache-setting, should it be cached or not), 
but this definitively helps with opera.

p.s: please note that my configuration caches the whole site. if you 
also have a non-admin part, you probably do not want to forbid caching 
for that part. read the docs, there you can find info about how to 
specify the cache-settings more precisely.


gabor

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/django-users
-~----------~----~----~----~------~----~------~--~---

Reply via email to