{% extends "base-new.html" %} {% block header-content %}

Cookie Session

This is an example of use the Cookie Write for sessions. For more information on session, see it's primary page here.

{% endblock %} {% block content %} {% if sess.flash %}

{{ sess.flash }}

{% endif %}

Welcome to the sessions demo. You've viewed this page {{ sess.viewCount }} times during this session. Your session id is {{ sess.sid }} There are {{ session_length }} objects in your session data.
iteration test
{% for k in sess %}
  • {{ k }}
  • {% endfor %}
    items test
    {% for i in sess.items %}
  • {{ i }}
  • {% endfor %}
    keys test
    {% for k in sess.keys %}
  • {{ k }}
  • {% endfor %}
    values test
    {% for v in sess.values %}
  • {{ v }}
  • {% endfor %}

    You can View this page again, you can Set flash data, pr you can Delete your session and start over.

    Memcache stats: {{ memcacheStats }}

    Session str: {{ sess_str }}

    webapp class

    {% filter escape %}
    class CookieSessionPage(webapp.RequestHandler):
      def get(self):
        self.sess = sessions.Session(writer="cookie")
        if self.request.get('deleteSession') == "true":
            self.sess.delete()
            print "Location: /cookiesession\n\n"
        elif self.request.get('setflash') == "true":
            self.sess['flash'] = 'You set a flash message! Refresh this page and this message is gone!'
            print "Location: /cookiesession\n\n"
        else:
            keyname = 'testKey'
            self.sess[keyname] = "test"
            self.sess[keyname + '2'] = "test2"
            self.sess[3] = "test3"
            if not 'viewCount' in self.sess:
                self.sess['viewCount'] = 1
            else:
                self.sess['viewCount'] = int(self.sess['viewCount']) + 1
            self.sess[u"unicode_key"] = u"unicode_value"
            session_length = len(self.sess)
            self.memcacheStats = memcache.get_stats()
            template_values = {
                'sess': self.sess,
                'sess_str': str(self.sess),
                'session_length': session_length,
                'memcacheStats': self.memcacheStats
            }
            path = os.path.join(os.path.dirname(__file__), 'templates/cookie_session-new.html')
            self.response.out.write(template.render(path, template_values))
    {% endfilter %}
    {% endblock %}