I have a problem where session data does not appear to be updated when the setting of the session data is followed by a response.redirect in a Python script. A browser refresh is required to get the correct data displayed. This happens on both Zope v2.5.1 and v2.6.1. It also happens with IE and Mozilla browsers; but, interestingly, it does not occur with the Konqueror browser. This led me to believe it was a browser issue, but no matter what options I try in IE, I cannot get it to work. I thought it might be an issue with the browser cache settings, but, again, no matter what I try I get the same result.
I've included a test script and page template that demonstrates this problem. When I go to url "sessionCreateAndRedirect?sessionText=123", I get the message, "Problem: no session object (redirectTest)." If I then refresh the browser, I get "123" displayed, which is the correct response. Subsequent calls to the url with different values for sessionText returns the previous session value, until I do a browser refresh.
Any assistance, guidance, wisdom, etc. on this matter would be greatly appreciated.
## Script (Python) "sessionCreateAndRedirect"
##parameters=sessionText
##
session = context.REQUEST.SESSION
sessionObjName = 'redirectTest'
session.set(sessionObjName, sessionText)
return context.REQUEST.RESPONSE.redirect(context["view_session_obj.pt"].absolute_url())
## Page Template "view_session_obj.pt"
##
<html>
<head>
<title tal:content="template/title">The title</title>
</head>
<body>
<tal:block define="global sesObj request/SESSION/redirectTest | nothing"></tal:block>
<p tal:condition="not:sesObj">Problem: no session object (redirectTest).</p>
<p tal:condition="sesObj" tal:content="sesObj">session obj contents</p>
</body>
</html>
Brad