Browse Source

Add notes on mutable values & sessions.

Using notes in 8445f0d939
pull/446/merge
Ron DuPlain 13 years ago
parent
commit
0eb75b317b
  1. 3
      CHANGES
  2. 7
      flask/helpers.py

3
CHANGES

@ -56,7 +56,8 @@ Relase date to be decided, codename to be chosen.
max-age for `send_static_file` can be configured through a new max-age for `send_static_file` can be configured through a new
``SEND_FILE_MAX_AGE_DEFAULT`` configuration variable, regardless of whether ``SEND_FILE_MAX_AGE_DEFAULT`` configuration variable, regardless of whether
the `get_send_file_options` hook is used. the `get_send_file_options` hook is used.
- Fixed an assumption in sessions implementation which could break message
flashing on sessions implementations which use external storage.
Version 0.8.1 Version 0.8.1
------------- -------------

7
flask/helpers.py

@ -283,6 +283,13 @@ def flash(message, category='message'):
messages and ``'warning'`` for warnings. However any messages and ``'warning'`` for warnings. However any
kind of string can be used as category. kind of string can be used as category.
""" """
# Original implementation:
#
# session.setdefault('_flashes', []).append((category, message))
#
# This assumed that changes made to mutable structures in the session are
# are always in sync with the sess on object, which is not true for session
# implementations that use external storage for keeping their keys/values.
flashes = session.get('_flashes', []) flashes = session.get('_flashes', [])
flashes.append((category, message)) flashes.append((category, message))
session['_flashes'] = flashes session['_flashes'] = flashes

Loading…
Cancel
Save