2011-05-06 2 views
12

私はDjango Request.Sessionを見つけました。ここでは、という特定のの値を設定してテストする方法を知っています。djangoでセッション変数をテストする

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

とどこかに私は

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

をチェックしかし、今私は、セッション変数がそもそも設定されたかどうかを確認する必要がありますか?私はどのようにしてRequest.Session['name'] Is setに値が存在するかどうかを調べることができますか?

私に電話してもらえますか、それを確認する方法はありますか?

ありがとうございます。

+2

の場合、大文字と小文字が区別されます。 Djangoには 'Request'や' Session'はありません。 'request.session'を持っています。 –

答えて

10

getはあなたのためにすべての作業を行います。キーが存在するかどうかをチェックし、値がNone

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

request.session.get( 'name')は十分である必要があります – Jerzyk

+0

これは正しく、デフォルト値のデモンストレーションでした – programmersbook

19

はPythonの辞書として、それを扱う:

セッションを使用する方法
if 'name' in request.session: 
    print request.session['name'] 

http://docs.djangoproject.com/en/dev/topics/http/sessions/

+0

これは、受け入れられた回答と比べてはるかにクリーンな解決策です。 – tokyovariable

+0

関連する質問。たとえば、セッション変数に別の辞書があるとします。 {'b':{'z':100}}、複数のif文を使用する必要がありますか? (前の例では 'b'と 'z'が存在しない可能性があります) – wasabigeek

関連する問題