我有这个金字塔观点:
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'
并设置它吗?这仍然无法帮助我将其拉回到模板中。
答案 0 :(得分:2)
request.session
是模板中的变量。不是session
。这就是您获得Undefined
例外的原因。
答案 1 :(得分:0)
我想我明白了。我仍然可以这样设置:
request.session['selectedclientid'] = 'test'
但阅读它的工作原理如下:
% if 'selectedclientid' in request.session:
The session has something ${request.session['selectedclientid']}
% endif