所以我找到了关于在金字塔视图文件中设置会话变量,然后在mako模板中访问它的答案。 (How to access session variable in Mako template and Pyramid?)
我想知道你是否可以反过来做到这一点。所以而不是:
金字塔view.py
def thisView(request):
session = request.session
session['selectedclientid'] = 'test' #selectedclient.id
session.save()
webpage.mako
${request.session['selectedclientid']}
我可以交换它,所以我可以这样做吗?
webpage.mako
${request.session['selectedclientid'] = '5'}
金字塔view.py
def thisView(request):
someLogicOn(session['selectedclientid'])
到目前为止,我一直没有成功使它工作,我不确定这是否仅仅是由于缺乏理解如何做到这一点,或者它是否是无法完成的事情。任何建议都会很棒!
答案 0 :(得分:1)
在典型的渲染工作流程中,视图在渲染器之前执行。目前尚不清楚你打算如何纠正这个问题。如果您在视图中自己致电render
,我猜是可以的,所以我会证明这一点。
webpage.mako:
<%
request.session['selectedClientId'] = '5'
%>
代码:
def thisView(request):
response = render_to_response('webpage.mako', {}, request=request)
someLogicOn(request.session['selectedClientId'])
return response
这在逻辑上有点落后,所以你可能要三思而后行。