如何使用Flask中的会话存储用户事件信息而无需登录?

时间:2017-10-10 18:11:21

标签: python session cookies flask flask-session

我在Flask中看到的涉及会话的每个教程都有登录。我不想登录。

我们说我正在制作游戏,我想记录输赢。如果没有登录,我希望用户在访问网络应用程序时记录其赢/输。

这可能吗?

[编辑] 我开始认为会议毕竟不是我想要的。我只想在他们在活动浏览器中播放时录制胜/负。那么也许我应该在每场比赛后都有一个更新胜/赢的盒子?

1 个答案:

答案 0 :(得分:1)

你看过Flask会话吗?默认情况下,它使用Werkzeug提供的“安全cookie”来维护会话。但是,已经说过你不能简单地依赖于你的客户端会话状态。例如。如果用户清除浏览器缓存和历史记录,则会丢失,或者如果用户在隐身或其他浏览器中打开,则此状态将无法使用。

这里只是我使用会话信息的应用程序的一个片段。

from flask import (Blueprint, request, render_template, redirect, session,
               make_response, jsonify)

@app.route('/', methods=['GET', 'POST'])
def index():
    .. do something..
    session['somestateiinfo'] = "some val"
    render_template()..

@app.route('/state', methods=['GET', 'POST']))
def nextpage():
    print "session info", session