2013-04-20 45 views
0

所以我找到了關於在金字塔視圖文件中設置會話變量的答案,然後在mako模板中訪問它。 (How to access session variable in Mako template and Pyramid?您可以在金字塔的MAKO文件中設置會話變量嗎?

我想知道你是否可以以相反的方式做到這一點。因此,而不是:

金字塔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

在典型的渲染工作流程中,視圖在之前執行呈現器。目前還不清楚你打算如何改正這一點。如果你在視圖內自己撥打render,我想可以這麼做,所以我會展示這一點。

webpage.mako:

<% 
request.session['selectedClientId'] = '5' 
%> 

代碼:

def thisView(request): 
    response = render_to_response('webpage.mako', {}, request=request) 
    someLogicOn(request.session['selectedClientId']) 
    return response 

這在邏輯上有點落後了,所以你可能要三思而後行,你在做什麼。

+0

好的,所以這對我來說有點天真。我會考慮它,但嘗試完全提出一個單獨的解決方案。謝謝! – 2013-04-20 18:52:05

相關問題