2017-10-10 36 views
0

我在Flask中看到的每个教程都有登录。我不想要登录。如何在不需要登录的情况下使用会话在Flask中存储用户事件信息?

比方说,我正在制作一款游戏,并且我想记录下胜利/损失。如果没有登录,我希望在访问网络应用程序时记录用户的胜利/损失。

这可能吗?

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

+0

我试图删除因为我不知道我在说什么,并且担心我只会混淆未来的程序员寻找答案。所以这就是我找到的:只是使用它。会话是每个用户/浏览器独有的客户端cookie。所以,如果你想存储他们的答案,做session ['answer'] =“whatever”。此外,如果你想存储他们的ID,做session ['id'] = 9875.现在他们都将与一个用户相关联。 GG –

回答

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 
+0

用户离开/关闭浏览器后,我不需要分数。只是为了让他们在网络应用程序中记录的胜利/损失。 我看过Flask会话,我知道这是记录用户/浏览器赢/输的方式,但我不确定如何。 例如,在上面的会话列表中,'somestateinfo'键通常是用户的登录ID。但是,我不想要求用户登录,那么我会用什么来识别用户和他们的浏览器会话呢? –

相关问题