旧会话ID不可用

时间:2019-09-21 12:12:40

标签: python-3.x session flask

app.py文件具有烧瓶应用程序。 test_app.py文件具有与代码相关的请求模块,以使用ID值调用flask应用程序URL。

app.pytest_app.py都在两个不同的命令提示符下显示。

当请求正在与id="10122"一起从test_app.py发送第二次时,旧会话id为None。为什么是None?我的第一个请求已经在会话中设置了id,第二次我正在访问旧的(第一个)请求id

对于我的第二个具有id = "10122"旧会话ID的请求,应为10121

      1.current output: 
         Old session id: None 
         New session id: 10121

      2.Expected Output:
          Old session id: 10121
          New session id: 10122

(base) H:\Python\DevPractice\day4>python app.py
* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
********started********
Old session id: None
New session id: 10121
************end**********
127.0.0.1 - - [21/Sep/2019 14:28:27] "POST / HTTP/1.1" 200 -
********started********
Old session id: None
New session id: 10122
************end**********
127.0.0.1 - - [21/Sep/2019 14:28:27] "POST / HTTP/1.1" 200 -

从test_app.py调用

(base) H:\Python\DevPractice\day4>python test_app.py
results
results
  1. app.py文件
    from flask import Flask, make_response, redirect, session, url_for,    request

    SECRET_KEY = 'develop'

    app = Flask(__name__)
    app.config.from_object(__name__)

    @app.route('/', methods=['POST'])
    def index():
        print("********started********")

        old_id = session.get('id', None)
        print("Old session id:", old_id )
        if request.method == 'POST':
            session['id'] = request.form['id']
        #session['hello'] = 'world!'
        new_id = session.get('id', None)
        print("New session id:", new_id )
        print("************end**********")
        return "results"

    if __name__ == '__main__':
        app.run()
  1. test_app.py文件
    import requests
    list_id = ["10121", "10122"]
    for i in list_id:
        payload = {'id': i}
        r = requests.post("http://127.0.0.1:5000/", data=payload)
        print(r.text)

0 个答案:

没有答案