@jinjim

Ошибка в Flask: TypeError: b'' is not JSON serializable. Что не так?

При использовании расширения flask-wtf выдает ошибку:
TypeError: b'be3d65bc5d4d3c9de2c8fcea23a32750e83e5ba2' is not JSON serializable

Код максимально упростил:
start.py
from flask import render_template, Flask
from forms import LoginForm

app = Flask(__name__)
app.config['SECRET_KEY'] = 'you-will-never-guess'

@app.route('/')
def login():
    form = LoginForm()
#    return render_template('login.html', form=form)

if __name__ == '__main__':
	app.run(debug=True)


forms.py
from flask_wtf import FlaskForm

class LoginForm(FlaskForm):
    pass


Стек:
Traceback (most recent call last):
File "/var/www/learn_flask/one/lib/python3.5/site-packages/flask/app.py", line 2309, in __call__
return self.wsgi_app(environ, start_response)
File "/var/www/learn_flask/one/lib/python3.5/site-packages/flask/app.py", line 2295, in wsgi_app
response = self.handle_exception(e)
File "/var/www/learn_flask/one/lib/python3.5/site-packages/flask/app.py", line 1741, in handle_exception
reraise(exc_type, exc_value, tb)
File "/var/www/learn_flask/one/lib/python3.5/site-packages/flask/_compat.py", line 35, in reraise
raise value
File "/var/www/learn_flask/one/lib/python3.5/site-packages/flask/app.py", line 2292, in wsgi_app
response = self.full_dispatch_request()
File "/var/www/learn_flask/one/lib/python3.5/site-packages/flask/app.py", line 1815, in full_dispatch_request
rv = self.handle_user_exception(e)
File "/var/www/learn_flask/one/lib/python3.5/site-packages/flask/app.py", line 1718, in handle_user_exception
reraise(exc_type, exc_value, tb)
File "/var/www/learn_flask/one/lib/python3.5/site-packages/flask/_compat.py", line 35, in reraise
raise value
File "/var/www/learn_flask/one/lib/python3.5/site-packages/flask/app.py", line 1813, in full_dispatch_request
rv = self.dispatch_request()
File "/var/www/learn_flask/one/lib/python3.5/site-packages/flask/app.py", line 1799, in dispatch_request
return self.view_functions[rule.endpoint](**req.view_args)
File "/var/www/learn_flask/test/start.py", line 9, in login
form = LoginForm()
File "/var/www/learn_flask/one/lib/python3.5/site-packages/wtforms/form.py", line 212, in __call__
return type.__call__(cls, *args, **kwargs)
File "/var/www/learn_flask/one/lib/python3.5/site-packages/flask_wtf/form.py", line 88, in __init__
super(FlaskForm, self).__init__(formdata=formdata, **kwargs)
File "/var/www/learn_flask/one/lib/python3.5/site-packages/wtforms/form.py", line 278, in __init__
self.process(formdata, obj, data=data, **kwargs)
File "/var/www/learn_flask/one/lib/python3.5/site-packages/wtforms/form.py", line 132, in process
field.process(formdata)
File "/var/www/learn_flask/one/lib/python3.5/site-packages/wtforms/csrf/core.py", line 43, in process
self.current_token = self.csrf_impl.generate_csrf_token(self)
File "/var/www/learn_flask/one/lib/python3.5/site-packages/flask_wtf/csrf.py", line 134, in generate_csrf_token
token_key=self.meta.csrf_field_name
File "/var/www/learn_flask/one/lib/python3.5/site-packages/flask_wtf/csrf.py", line 47, in generate_csrf
setattr(g, field_name, s.dumps(session[field_name]))
File "/var/www/learn_flask/one/lib/python3.5/site-packages/itsdangerous.py", line 565, in dumps
payload = want_bytes(self.dump_payload(obj))
File "/var/www/learn_flask/one/lib/python3.5/site-packages/itsdangerous.py", line 847, in dump_payload
json = super(URLSafeSerializerMixin, self).dump_payload(obj)
File "/var/www/learn_flask/one/lib/python3.5/site-packages/itsdangerous.py", line 550, in dump_payload
return want_bytes(self.serializer.dumps(obj))
File "/var/www/learn_flask/one/lib/python3.5/site-packages/itsdangerous.py", line 51, in dumps
return json.dumps(obj, separators=(',', ':'))
File "/usr/lib/python3.5/json/__init__.py", line 237, in dumps
**kw).encode(obj)
File "/usr/lib/python3.5/json/encoder.py", line 198, in encode
chunks = self.iterencode(o, _one_shot=True)
File "/usr/lib/python3.5/json/encoder.py", line 256, in iterencode
return _iterencode(o, 0)
File "/usr/lib/python3.5/json/encoder.py", line 179, in default
raise TypeError(repr(o) + " is not JSON serializable")
TypeError: b'be3d65bc5d4d3c9de2c8fcea23a32750e83e5ba2' is not JSON serializable


Что я делаю не так?
  • Вопрос задан
  • 249 просмотров
Пригласить эксперта
Ответы на вопрос 2
dimonchik2013
@dimonchik2013
жизнь прекрасна в Амстердаме, а в Воронеже gаvно
декодируй его в строку из бинарника
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
Платформа НТИ Москва
от 130 000 до 180 000 руб.
от 150 000 до 200 000 руб.
от 90 000 до 150 000 руб.
18 сент. 2019, в 09:40
1000 руб./за проект
18 сент. 2019, в 09:35
20000 руб./за проект
18 сент. 2019, в 08:49
10000 руб./за проект