2012-08-28 5 views
5

私は、次のコードを使用していますか?私が想定しているのは、セッションに「名前」がある場合はTrueを返し、それ以外の場合はFalseを返します。私は自分のコードと混同しているので、ここでこの質問を投稿しました。django request.session.get( "name"、False) - このコードは何を意味していますか?</p> <pre><code>if request.session.get("name",False): </code></pre> <p>は、誰もが上記のコードが何を教えてくださいすることができ:

ありがとうございました。

答えて

13

sessionが値"name"とそれにキーを持っている場合、それはFalseを返します(「名」という名前のキーが存在しない場合)それ以外の場合は、(うまくFalseであるかもしれない)、そのキーに関連付けられている値を返します。

sessionは辞書のようなタイプなので、get methodのドキュメントを入手する最も良い場所は、標準ライブラリのPythonドキュメントです。問題のショートはgetは、以下の略記であることである:

if "name" in request.session: 
    result = request.session["name"] 
else: 
    result = False 

if result: 
    # Do something 
+0

私は申し訳ありませんが、私がリクエストした場合の一部(ではないネイティブスピーカー)。だから「良くなるかもしれない」と混同してしまいました。 session.get( 'cart_id'、 "")dictにキーcart_idがない場合、空の文字列を返しますか? – SuburbanFilth

+0

いいえ、 'None'を返します(通常のPython辞書と同じデフォルトを使用すると仮定します)。しかし空文字列と 'None'の両方が偽の値であるので、それは重要ではありません。 –

+0

私はちょうどコメントの編集を行いました..その後、コンマの後の引数は何ですか? – SuburbanFilth

関連する問題