【问题标题】:Can you set session variables in MAKO files in Pyramid?你可以在 Pyramid 的 MAKO 文件中设置会话变量吗?
【发布时间】:2013-04-20 17:41:07
【问题描述】:

所以我找到了关于在金字塔视图文件中设置会话变量的答案,然后在 mako 模板中访问它。 (How to access session variable in Mako template and Pyramid?)

我想知道你是否可以反过来做。所以而不是:

金字塔视图.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'}

金字塔视图.py

def thisView(request):
    someLogicOn(session['selectedclientid'])

到目前为止,我一直未能成功实现它,我不确定这是否只是由于缺乏了解如何做到这一点,还是无法做到这一点。任何建议都会很棒!

【问题讨论】:

    标签: python pyramid mako


    【解决方案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
    

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

    【讨论】:

    • 好的,所以这对我来说有点天真。我会考虑它,但尝试完全提出一个单独的解决方案。谢谢!
    猜你喜欢
    • 2012-10-25
    • 1970-01-01
    • 2012-03-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多