web-dev-qa-db-fra.com

Erreur de serveur interne lors de l'utilisation de la session Flask

Je souhaite enregistrer un ID entre les demandes, en utilisant Flask session cookie, mais je reçois un Internal Server Error comme résultat, lorsque j'exécute une demande.

J'ai prototypé une simple application Flask pour démontrer mon problème:

#!/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()

Pourquoi je ne peux pas stocker le cookie session avec la valeur suivante lorsque j'exécute la demande?

30
sedavidw

Selon documentation des sessions Flask :

... Cela signifie que l'utilisateur peut consulter le contenu de votre cookie mais ne pas le modifier, à moins qu'il ne connaisse la clé secrète utilisée pour la signature.

Pour utiliser les sessions, vous devez définir une clé secrète .

Définissez clé secrète. Et vous devez renvoyer une chaîne, pas un entier.

#!/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()
50
falsetru

Sous app = Flask(__name__) placez ceci: app.secret_key = os.urandom(24).

0
joshlsullivan