Использование сеанса в флеш-приложении
Я уверен, что есть что-то, что я явно не понимаю о сеансе в Flask, но я хочу сохранить идентификатор между запросами. Мне не удалось заставить сеанс работать, поэтому я попробовал простое приложение Flask ниже, и когда я его загружаю, я получаю внутреннюю ошибку сервера
#!/usr/bin/env python
from flask import Flask, session
app = Flask(__name__)
@app.route('/')
def run():
session['tmp'] = 43
return '43'
if __name__ == '__main__':
app.run()
Почему я не могу использовать это значение в сеансе?
Ответы
Ответ 1
В соответствии с Документация к кол-вом флагов:
... Это означает, что пользователь может просматривать содержимое вашего cookie, но не изменять его, если они не знают секретный ключ, используемый для подписание.
Чтобы использовать сеансы, вам нужно установить секретный ключ.
Установите секретный ключ. И вы должны вернуть строку, а не int.
#!/usr/bin/env python
from flask import Flask, session
app = Flask(__name__)
@app.route('/')
def run():
session['tmp'] = 43
return '43'
if __name__ == '__main__':
app.secret_key = 'A0Zr98j/3yX R~XHH!jmN]LWX/,?RT'
app.run()
Ответ 2
В разделе app = Flask(__name__)
поместите это: app.secret_key = os.urandom(24)
.