1

我有这个金字塔视图:

def ClientView(request):
    session = request.session
    session['selectedclientid'] = 'test' #selectedclient.id
    session.save()
    return dict(
        logged_in=authenticated_userid(request)
    )

然后在我的模板中,我只是在尝试这样的事情:

% if session['selectedclientid'] != None:
                The session has something
            % endif

这给了我一个模板错误:

    % if session['selectedclientid'] != None:
TypeError: 'Undefined' object has no attribute '__getitem__'

我设置会话变量错误吗?我查询错了吗?我什至需要首先制作request.session对象的副本.save()吗?我不能这样做request.session['myvariable'] = 'foo'并设置它吗?这仍然无助于我将其拉回模板中。

4

2 回答 2

2

request.session是模板中的变量。不是session。这就是你得到Undefined例外的原因。

于 2012-11-06T16:29:21.430 回答
0

我想我明白了。我仍然可以这样设置:

request.session['selectedclientid'] = 'test'

但是读回来是这样的:

% if 'selectedclientid' in request.session:
                The session has something ${request.session['selectedclientid']}
            % endif
于 2012-11-06T02:49:28.337 回答