Python 使用flask.g在模板之间传递值
使用Flask,我有一个页面作为等待屏幕,直到用户在读卡器上放置RFID卡。将卡放置在读卡器上后,将Python 使用flask.g在模板之间传递值,python,flask,Python,Flask,使用Flask,我有一个页面作为等待屏幕,直到用户在读卡器上放置RFID卡。将卡放置在读卡器上后,将用户值传递到模板中,然后用户将自动移动到另一页。我需要捕获该值(据我所知,使用flask.g)并将其传递到第二页。当前我的烧瓶views.py如下所示: @app.route('/activity', methods=['GET', 'POST']) def activity(): user = g.user location = {'mspace': 'Central Libra
用户
值传递到模板中,然后用户将自动移动到另一页。我需要捕获该值(据我所知,使用flask.g)并将其传递到第二页。当前我的烧瓶views.py
如下所示:
@app.route('/activity', methods=['GET', 'POST'])
def activity():
user = g.user
location = {'mspace': 'Central Library'}
return render_template('activity.html',
location = location,
user = user)
@app.route('/', methods=['GET', 'POST'])
@app.route('/index', methods=['GET', 'POST'])
def index():
global checkCheck
print "starting"
if request.method == 'POST':
# print(request.data)
checkCheck = True
location = {'mspace': 'Central Library'}
user = {'nickname': request.args.get('name')}
print "works!"
print user['nickname']
return render_template('index.html',
location = location,
user = user)
g.user = user
return render_template('index.html',
location = "test",
user = 'user')
但是当我没有在放置卡片后呈现第二页时,我得到了一个错误
AttributeError:“\u AppCtxGlobals”对象没有属性“user”
-为什么第二页不能识别g.user
?您不能使用g
在不同的请求之间传递数据;它仅对当前请求是全局的。此外,您将g.user=user
行放在返回
之后,所以它从未被执行过。嘿,Martijn-感谢您解释我应该用什么来存储一个可以跨模板使用的变量?使用会话来跨请求存储数据。嘿,Martijn-在您第一次发表评论之后,我实际上开始了这条路,但后来发现自己陷入了一个新的僵局()