2017-10-10 37 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。但是,我不想要求用戶登錄,那麼我會用什麼來識別用戶和他們的瀏覽器會話呢? –

相關問題