Где я могу получить SECRET_KEY для Flask?

Я пытаюсь настроить Flask-Debugtoolbar, но получаю сообщение "DebugToolBar требует SECRET_KEY". Где я могу получить секретный ключ?

Ответ 1

Секретный ключ необходим для обеспечения безопасности сеансов на стороне клиента. Вы можете создать случайный ключ

>>> 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 документация

Ответ 2

Для того, чтобы использовать сеанс в колбе, вам необходимо установить секретный ключ в настройках вашего приложения. Секретный ключ - это случайный ключ, используемый для шифрования ваших файлов cookie и сохранения их отправки в браузер.

Эта ошибка из-за этой строки в коде Flask-Debugtoolbar

Чтобы это исправить, вам просто нужно установить SECRET_KEY в вашем конфигурационном файле.

app.config['SECRET_KEY'] = "Your_secret_string"

или, если у вас есть файл конфигурации, просто добавьте ниже конфигурацию к нему:

SECRET_KEY = "Your_secret_string"

Ответ 3

Получить случайную строку для секретного ключа:

Способ 1: используйте os в Python 2/3:

>>> import os
>>> os.urandom(12)
'\xf0?a\x9a\\\xff\xd4;\x0c\xcbHi'

Способ 2: используйте uuid в Python 2/3:

>>> import uuid
>>> uuid.uuid4().hex
'3d6f45a5fc12445dbac2f59c3b6c7cb1'

Способ 3: использовать secrets в Python> = 3.6:

>>> import secrets
>>> token_urlsafe(16)
'Drmhze6EPcv0fN_81Bj-nA'

Способ 4: используйте os в Python 3:

>>> 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'