를 사용하는 경우 다음과 같은 내가 플라스크 응용 프로그램에서 세션 변수를 사용하는 것을 시도하고 사라 :플라스크 세션 변수는 원격 서버 터널링
from flask import Flask, session
from flask import request
from flask import render_template
from flask import redirect, url_for
app = Flask(__name__)
app.secret_key = 'verysecretindeed'
@app.route('/')
def myform():
session['ax'] = 42
return render_template("test1.html", session=session)
@app.route('/', methods=['GET', 'POST'])
def modifyvalue():
incr = request.form('incr')
a = session['ax']
if incr == '1':
a = a + 1
session['ax']=a
return render_template("test1.html", session=session)
if __name__ == '__main__':
app.run(debug=True)
이 코드는 내 로컬 컴퓨터에서 잘 작동합니다. 나는 "증분"요청을받은 후,이 코드를 실행하면, 지금
ssh -N -f -L localhost:5000:localhost:5000 <username>@<server>.blah.edu
:
지금, 나는 다음과 같은 방법으로 내 로컬 호스트에 원격 서버와 터널 원격 서버의 로컬 호스트를에 코드를 실행 웹 페이지에서 다음과 같이 표시됩니다.
keyerror : modifyvalue() 함수 내에 'ax'가 있습니다.
myform() 함수 내에서 세션을 인쇄 할 때 값이 있습니다. 그러나 modifyvalue()
함수에서 세션을 인쇄 할 때 세션이 비어 있습니다.
는 내가 좋아하는 APPLICATION_ROOT 설정을 시도했다 :
app.config['APPLICATION_ROOT']= '/path/to/code/'
내가 시도 다른 브라우저, 시크릿, 아무것도 작동하는 것 같다 없습니다. myform()에서도 세션을 먼저 지우려고했습니다. 내 app.secret_key는 정적 문자열 값입니다.
어떤 생각이 잘못 될지 모릅니다.