我尝试在如下flask应用程序中使用会话变量:
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)
这个代码在我的本地机器上运行得很好。在
现在,我在远程服务器上运行代码,并通过以下方式将远程服务器的本地主机隧道到本地主机:
^{pr2}$现在,当我运行此代码时,在从网页上收到“incr”请求后,我得到:
keyerror:modifyvalue()函数中的“ax”。在
当我在myform()函数中打印会话时,值就在那里。但是,当我在modifyvalue()
函数中打印会话时,会话是空的。在
我尝试过将应用程序根设置为:
app.config['APPLICATION_ROOT']= '/path/to/code/'
我试过其他浏览器,不认识,似乎没什么用。 我也尝试先在myform()中清除会话。我的app.secret_密钥只是一个静态字符串值。在
知道出什么问题了吗?在
你有两个视图函数,第一个添加一个值到会话,另一个编辑这个值,它们使用相同的url,所以你可以合并它们。好吧,如果你说我是张贴表格,然后检查邮寄方法
相关问题 更多 >
编程相关推荐