2013-05-18 56 views
1

我有一個使用ajax請求的Flask應用程序,並且此請求應該給出true/false響應。用戶輸入一個授權碼,如果授權碼匹配需要或者已經在會話中,那麼響應應該是真實的,並且代碼被添加到會話並保存。如果不是,那麼只需返回假Flask:手動保存會話數據

@app.route('/auth-ajax', methods=['POST']) 
def auth(): 
    result_id = request.form.get('result_id', 'true') 
    result = load_result(result_id) 

    if result: 
     auth = result['auth_hash'] 
     auth_input = request.form.get('auth_input', '') 
     if (session.get('auths').get(result_id) != auth and auth_input != auth): 
      return 'false' 

    #else, save new authorization into session 
    session['auths'][result_id] = auth 

    # return true 
    return 'true' 

但是,會話沒有保存,因爲我希望。這是我第一個Python應用程序,所以我正在學習。根據我的理解,我需要使用Flask創建一個響應,而不僅僅輸出「true」或「false」 - 創建一個保存會話的響應,因爲它不會在修改時保存。我使用的唯一的響應函數是render_template()用於視圖,但我不想要視圖,而是想要一個簡單的真/假(可能是HTTP狀態響應)來查看授權是否被授予。我會如何去做這件事?

回答

1

發現問題。我只需要添加session.modified = True。很簡單。