在django中测试会话变量

时间:2011-05-06 10:01:51

标签: django session-variables django-sessions

我遇到了Django Request.Session,我知道如何设置和测试特定值。

request.session['name'] = "dummy"

我检查的地方

if request.session['name'] == "dummy" :
   #do something

但是,现在我必须首先检查会话变量是否设置了?我的意思是如何检查Request.Session['name'] Is set中是否存在值?

请任何人打电话给我,有办法检查吗?

提前谢谢。

3 个答案:

答案 0 :(得分:22)

将其视为Python词典:

if 'name' in request.session:
    print request.session['name']

如何使用会话:http://docs.djangoproject.com/en/dev/topics/http/sessions/

答案 1 :(得分:10)

get将为您完成所有工作。检查密钥是否存在,如果不存在,则值为None

if request.session.get('name', None) == "dummy":
    print 'name is = dummy'

答案 2 :(得分:0)

另一种方法是将其放在try

In this the third example code snippet

如果您在不存在的del变量中应用session操作,则会抛出KeyError

所以请检查一下。

try:
    print(request.session['name'])
except KeyError:
    print('name variable is not set')