Что ж, webapp2 имеет:
def add_flash(self, value, level=None, key='_flash'):
и:
def get_flashes(self, key='_flash'):
. Он хранит ваши сообщения и удаляет их при чтении.Чтобы показать их пользователю, вам просто нужно установить переменную в вашем базовом методе обработки запросов render_template
.Примерно так:
def render_template(self, template, context=None):
context = context or {}
extra_context = {
'uri_for': self.uri_for,
'flashes': self.session.get_flashes(),
'user': self.current_user,
}
# Only override extra context stuff if it's not set by the template:
for key, value in extra_context.items():
if key not in context:
context[key] = value
rendered = self.jinja2.render_template(template, **context)
self.response.write(rendered)
И в вашем шаблоне используйте переменную «вспышки» для отображения ваших сообщений так, как вам нравится.
Документы здесь: http://code.google.com/p/webapp-improved/source/browse/webapp2_extras/sessions.py?r=9c1ec933be7c3d8c09c9bf801ebffe2deeb922e0#127
Живой пример здесь: https://simpleauth.appspot.com/
и источник примера: http://code.google.com/p/gae-simpleauth/source/browse/example/handlers.py
Кстати, отличная работа с simpleauth Alex!