Подтвердить что ты не робот

Использование сеанса в флеш-приложении

Я уверен, что есть что-то, что я явно не понимаю о сеансе в 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()

Почему я не могу использовать это значение в сеансе?

4b9b3361

Ответ 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).