Skip to content

flash(my_message) raised 'is not JSON serializable' when Flask 0.9 migrate to 0.10  #812

@adesst

Description

@adesst

Fedora 14 64bit, using virtualenv

code in views.py
...
def index()
...
flash(message)
return ...

in Flask 0.9 it works fine.

But when i use 0.10 then it throws me:

Traceback (most recent call last):
File "/opt/flask/lib/python2.7/site-packages/gevent/pywsgi.py", line 438, in handle_one_response
self.run_application()
File "/opt/flask/lib/python2.7/site-packages/gevent/pywsgi.py", line 424, in run_application
self.result = self.application(self.environ, self.start_response)
File "/opt/flask/flask-websocket/app/init.py", line 52, in my_app
return app(environ, start_response)
File "/opt/flask/lib/python2.7/site-packages/flask/app.py", line 1836, in call
return self.wsgi_app(environ, start_response)
File "/opt/flask/lib/python2.7/site-packages/flask/app.py", line 1820, in wsgi_app
response = self.make_response(self.handle_exception(e))
File "/opt/flask/lib/python2.7/site-packages/flask/app.py", line 1403, in handle_exception
reraise(exc_type, exc_value, tb)
File "/opt/flask/lib/python2.7/site-packages/flask/app.py", line 1817, in wsgi_app
response = self.full_dispatch_request()
File "/opt/flask/lib/python2.7/site-packages/flask/app.py", line 1479, in full_dispatch_request
response = self.process_response(response)
File "/opt/flask/lib/python2.7/site-packages/flask/app.py", line 1693, in process_response
self.save_session(ctx.session, response)
File "/opt/flask/lib/python2.7/site-packages/flask/app.py", line 837, in save_session
return self.session_interface.save_session(self, session, response)
File "/opt/flask/lib/python2.7/site-packages/flask/sessions.py", line 326, in save_session
val = self.get_signing_serializer(app).dumps(dict(session))
File "/opt/flask/lib/python2.7/site-packages/itsdangerous.py", line 537, in dumps
payload = want_bytes(self.dump_payload(obj))
File "/opt/flask/lib/python2.7/site-packages/itsdangerous.py", line 809, in dump_payload
json = super(URLSafeSerializerMixin, self).dump_payload(obj)
File "/opt/flask/lib/python2.7/site-packages/itsdangerous.py", line 522, in dump_payload
return want_bytes(self.serializer.dumps(obj))
File "/opt/flask/lib/python2.7/site-packages/flask/sessions.py", line 85, in dumps
return json.dumps(_tag(value), separators=(',', ':'))
File "/opt/flask/lib/python2.7/site-packages/flask/json.py", line 126, in dumps
rv = _json.dumps(obj, **kwargs)
File "/usr/lib64/python2.7/site-packages/simplejson/init.py", line 268, in dumps
use_decimal=use_decimal, **kw).encode(obj)
File "/usr/lib64/python2.7/site-packages/simplejson/encoder.py", line 216, in encode
chunks = list(chunks)
File "/usr/lib64/python2.7/site-packages/simplejson/encoder.py", line 485, in _iterencode
for chunk in _iterencode_dict(o, _current_indent_level):
File "/usr/lib64/python2.7/site-packages/simplejson/encoder.py", line 459, in _iterencode_dict
for chunk in chunks:
File "/usr/lib64/python2.7/site-packages/simplejson/encoder.py", line 380, in _iterencode_list
for chunk in chunks:
File "/usr/lib64/python2.7/site-packages/simplejson/encoder.py", line 459, in _iterencode_dict
for chunk in chunks:
File "/usr/lib64/python2.7/site-packages/simplejson/encoder.py", line 380, in _iterencode_list
for chunk in chunks:
File "/usr/lib64/python2.7/site-packages/simplejson/encoder.py", line 495, in _iterencode
o = _default(o)
File "/opt/flask/lib/python2.7/site-packages/flask/json.py", line 83, in default
return _json.JSONEncoder.default(self, o)
File "/usr/lib64/python2.7/site-packages/simplejson/encoder.py", line 190, in default
raise TypeError(repr(o) + " is not JSON serializable")
TypeError: lu'Transaction 20 of F3535324 has been added ' is not JSON serializable

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions