0.10 Şişe yükselttikten sonra oturum çerezinin üzerinde unicode hata vererek, bu hatayı alıyorum:Şişesi 0.10
flask.debughelpers.UnexpectedUnicodeError
UnexpectedUnicodeError: A byte string with non-ASCII data was passed to the session system which can only store unicode strings. Consider base64 encoding your string (String was 'iB\rOU#\xf7BO\x08^\xa6\xd1)v\xad')
Traceback (most recent call last)
File "/srv/www/li/venv/lib/python2.7/site-packages/flask/app.py", line 1836, in __call__
return self.wsgi_app(environ, start_response)
File "/srv/www/li/venv/lib/python2.7/site-packages/flask/app.py", line 1820, in wsgi_app
response = self.make_response(self.handle_exception(e))
File "/srv/www/li/venv/lib/python2.7/site-packages/flask/app.py", line 1403, in handle_exception
reraise(exc_type, exc_value, tb)
File "/srv/www/li/venv/lib/python2.7/site-packages/flask/app.py", line 1817, in wsgi_app
response = self.full_dispatch_request()
File "/srv/www/li/venv/lib/python2.7/site-packages/flask/app.py", line 1479, in full_dispatch_request
response = self.process_response(response)
File "/srv/www/li/venv/lib/python2.7/site-packages/flask/app.py", line 1693, in process_response
self.save_session(ctx.session, response)
File "/srv/www/li/venv/lib/python2.7/site-packages/flask/app.py", line 837, in save_session
return self.session_interface.save_session(self, session, response)
File "/srv/www/li/venv/lib/python2.7/site-packages/flask/sessions.py", line 321, in save_session
val = self.get_signing_serializer(app).dumps(dict(session))
File "/srv/www/li/venv/lib/python2.7/site-packages/itsdangerous.py", line 471, in dumps
return self.make_signer(salt).sign(self.dump_payload(obj))
File "/srv/www/li/venv/lib/python2.7/site-packages/itsdangerous.py", line 676, in dump_payload
json = super(URLSafeSerializerMixin, self).dump_payload(obj)
File "/srv/www/li/venv/lib/python2.7/site-packages/itsdangerous.py", line 454, in dump_payload
return self.serializer.dumps(obj)
File "/srv/www/li/venv/lib/python2.7/site-packages/flask/sessions.py", line 82, in dumps
return json.dumps(_tag(value), separators=(',', ':'))
File "/srv/www/li/venv/lib/python2.7/site-packages/flask/sessions.py", line 72, in _tag
return dict((k, _tag(v)) for k, v in iteritems(value))
File "/srv/www/li/venv/lib/python2.7/site-packages/flask/sessions.py", line 72, in <genexpr>
return dict((k, _tag(v)) for k, v in iteritems(value))
File "/srv/www/li/venv/lib/python2.7/site-packages/flask/sessions.py", line 80, in _tag
u'base64 encoding your string (String was %r)' % value)
UnexpectedUnicodeError: A byte string with non-ASCII data was passed to the session system which can only store unicode strings. Consider base64 encoding your string (String was 'iB\rOU#\xf7BO\x08^\xa6\xd1)v\xad')
Ne self.save_session şişesi için (ctx.session, tepki)/app.py hat 1693 verir flask.sessions.SecureCookieSession ({ '_ kimliği': 'iB \ Rou # \ xf7BO \ X08^\ XA6 \ Xd1) v \ XAD', '_flashes': [('mesajı' için giriş Yapın', bu Ben doğru bu okursanız erişim Bu sayfayı. ')]})
Yani, seans unicode çalışırsa şişeyi (ve) başarısız bir kimliği verir. Bunu nasıl düzelteceğime dair bir ipucum yok (yeni bir oturumun da gelmemesi için tarayıcımın önbelleğini boşaltma). Herkes bana ne yapmam gerektiği konusunda tavsiyede bulunabilir mi?
Saygılarımızla
Carst
düzenleme: bazı ekstra bilgi. Benim kurulum flask, flask_mail, flask.ext.mongoengine ve flask.ext.security kullanır; i MongoEngine kullanımı: db = flask.ext.mongoengine.MongoEngine (uygulama) ve şişe güvenlik: user_datastore = flask.ext.security.MongoEngineUserDatastore (db, Kullanıcı, Rol) güvenlik = flask.ext.security.Security (app, user_datastore)
Düzenleme: Flask Login: TypeError: decoding Unicode is not supported
(görmemişti, üzgünüm)
Bu soru tam olarak Flask burada yazar iken cevaplar, başka sürümüne geçişinizi orada çözme beri yinelenen Aslında işe yarayan bir cevap verdi. – Lipis