最近在写Flask
,遇到一个诡异的问题
Traceback (most recent call last): File "/Users/yegle/git/apkay/apkay-venv/lib/python2.7/site-packages/flask/app.py", line 1701, in __call__ return self.wsgi_app(environ, start_response) File "/Users/yegle/git/apkay/apkay-venv/lib/python2.7/site-packages/flask/app.py", line 1685, in wsgi_app with self.request_context(environ): File "/Users/yegle/git/apkay/apkay-venv/lib/python2.7/site-packages/flask/ctx.py", line 274, in __enter__ self.push() File "/Users/yegle/git/apkay/apkay-venv/lib/python2.7/site-packages/flask/ctx.py", line 238, in push self.session = self.app.open_session(self.request) File "/Users/yegle/git/apkay/apkay-venv/lib/python2.7/site-packages/flask/app.py", line 792, in open_session return self.session_interface.open_session(self, request) File "/Users/yegle/git/apkay/apkay-venv/lib/python2.7/site-packages/flask/sessions.py", line 191, in open_session secret_key=key) File "/Users/yegle/git/apkay/apkay-venv/lib/python2.7/site-packages/werkzeug/contrib/securecookie.py", line 312, in load_cookie return cls.unserialize(data, secret_key) File "/Users/yegle/git/apkay/apkay-venv/lib/python2.7/site-packages/werkzeug/contrib/securecookie.py", line 259, in unserialize mac = hmac(secret_key, None, cls.hash_method) File "/Users/yegle/.gentoo/usr/lib/python2.7/hmac.py", line 133, in new return HMAC(key, msg, digestmod) File "/Users/yegle/.gentoo/usr/lib/python2.7/hmac.py", line 72, in __init__ self.outer.update(key.translate(trans_5C))
排查之后发现是定义secret_key
的文件头有加入unicode_literals
,导致报错。
将unicode
的secret_key
改为b'blablabla'
解决问题
Comments !