我正在尝试设置Flask-Debugtoolbar,但是我收到消息“DebugToolBar需要SECRET_KEY”。我从哪里获得密钥?
答案 0 :(得分:33)
需要密钥来保持客户端会话的安全。您可以生成一些随机密钥,如下所示:
>>> import os
>>> os.urandom(24)
'\xfd{H\xe5<\x95\xf9\xe3\x96.5\xd1\x01O<!\xd5\xa2\xa0\x9fR"\xa1\xa8'
只需拿走该密钥并将其复制/粘贴到配置文件中
即可SECRET_KEY = '\xfd{H\xe5<\x95\xf9\xe3\x96.5\xd1\x01O<!\xd5\xa2\xa0\x9fR"\xa1\xa8'
请参阅Sessions文档
答案 1 :(得分:10)
方法1:在Python 2/3中使用os
:
>>> import os
>>> os.urandom(12)
'\xf0?a\x9a\\\xff\xd4;\x0c\xcbHi'
方法2:在Python 2/3中使用uuid
:
>>> import uuid
>>> uuid.uuid4().hex
'3d6f45a5fc12445dbac2f59c3b6c7cb1'
方法3:在Python> = 3.6中使用secrets
:
>>> import secrets
>>> secrets.token_urlsafe(16)
'Drmhze6EPcv0fN_81Bj-nA'
方法4:在Python 3中使用os
>>> import os
>>> os.urandom(12).hex()
'f3cfe9ed8fae309f02079dbf'
方法1:使用app.secret_key
:
app.secret_key = 'the random string'
方法2:使用app.config
:
app.config['SECRET_KEY'] = 'the random string'
方法3:将其放在您的配置文件中:
SECRET_KEY = 'the random string'
答案 2 :(得分:5)
要在flask中使用会话,您需要在应用程序设置中设置密钥。 密钥是一个随机密钥,用于加密您的cookie并将其保存发送到浏览器。
此错误是由于this line in the Flask-Debugtoolbar code
要解决此问题,您只需在配置文件中设置SECRET_KEY
。
app.config['SECRET_KEY'] = "Your_secret_string"
或者如果你有一个配置文件,只需添加以下配置:
SECRET_KEY = "Your_secret_string"
答案 3 :(得分:1)
**生成秘密密钥** 打开你的cmd
导入机密
secrets.token_hex(16)
您会发现随机字符
将其放入您的配置文件中
app.config ['SECRET_KEY'] =“生成的密钥”