你可以在金字塔中的MAKO文件中设置会话变量吗?

时间:2013-04-20 17:41:08

标签: python pyramid mako

所以我找到了关于在金字塔视图文件中设置会话变量,然后在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'])

到目前为止,我一直没有成功使它工作,我不确定这是否仅仅是由于缺乏理解如何做到这一点,或者它是否是无法完成的事情。任何建议都会很棒!

1 个答案:

答案 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

这在逻辑上有点落后,所以你可能要三思而后行。