Używam kolby, pymongo i skrzynki z kolbami - logowanie jako stos.Logowanie w kolbie: TypeError: dekodowanie Unicode nie jest obsługiwane
Moja aplikacja kolbowa działa dobrze lokalnie, ale po jej wdrożeniu z uwsgi na nginx, otrzymuję dziwny błąd Unicode z rozszerzenia flask_login.
W skrócie:
TypeError: decoding Unicode is not supported
Traceback:
[pid: 21753|app: 0|req: 5/5] 84.207.253.34() {38 vars in 600 bytes} [Thu Jun 13 16:51:08 2013] GET/=> generated 0 bytes in 4 msecs (HTTP/1.1 500) 0 headers in 0 bytes (0 switches on core 0)
Traceback (most recent call last):
File "/myproject/myproject-env/local/lib/python2.7/site-packages/flask/app.py", line 1836, in __call__
return self.wsgi_app(environ, start_response)
File "/myproject/myproject-env/local/lib/python2.7/site-packages/flask/app.py", line 1820, in wsgi_app
response = self.make_response(self.handle_exception(e))
File "/myproject/myproject-env/local/lib/python2.7/site-packages/flask/app.py", line 1403, in handle_exception
reraise(exc_type, exc_value, tb)
File "/myproject/myproject-env/local/lib/python2.7/site-packages/flask/app.py", line 1817, in wsgi_app
response = self.full_dispatch_request()
File "/myproject/myproject-env/local/lib/python2.7/site-packages/flask/app.py", line 1477, in full_dispatch_request
rv = self.handle_user_exception(e)
File "/myproject/myproject-env/local/lib/python2.7/site-packages/flask/app.py", line 1381, in handle_user_exception
reraise(exc_type, exc_value, tb)
File "/myproject/myproject-env/local/lib/python2.7/site-packages/flask/app.py", line 1473, in full_dispatch_request
rv = self.preprocess_request()
File "/myproject/myproject-env/local/lib/python2.7/site-packages/flask/app.py", line 1666, in preprocess_request
rv = func()
File "/myproject/myproject-env/local/lib/python2.7/site-packages/flask_login.py", line 311, in _load_user
deleted = self._session_protection()
File "/myproject/myproject-env/local/lib/python2.7/site-packages/flask_login.py", line 325, in _session_protection
ident = _create_identifier()
File "/myproject/myproject-env/local/lib/python2.7/site-packages/flask_login.py", line 133, in _create_identifier
request.headers.get("User-Agent")), 'utf8', errors='replace')
TypeError: decoding Unicode is not supported
Dlaczego to nie dzieje się w środowisku dev? Dlatego musi być w jakiś sposób związany z uwsgi na nginx. Jakieś sugestie? Dziękujemy
Moim zdaniem, jest to najlepsza rzecz do zrobienia. – maxcountryman
Re: łata awaryjna: biorąc pod uwagę opiekuna Flask-Login [nie oczekuje jednego] (https://github.com/maxcountryman/flask-login/issues/78#issuecomment-19428468), nie spodziewałbym się to wyjść. Na pierwszy rzut oka Flask-Login nie będzie obsługiwał Flask v0.10, dopóki nie pojawi się gałąź oczyszczania. Które, AFAIC, jest w porządku: po prostu nie używaj Flask 0.10 jeszcze :) –
Zauważ, że jest to upstream błąd, [zgłaszane tutaj] (https://github.com/mitsuhiko/flask/issues/772). Flask-Login został zaktualizowany, ale oczywiście nie może rozwiązać problemu. Możesz teraz użyć [wersji 0.2.x] (https://github.com/maxcountryman/flask-login/tree/0.2.2) teraz. – maxcountryman