19

Django で比較的単純なショッピング カートを作成しようとしています。にカートを収納していrequest.session['cart']ます。したがって、何かが追加されたときに、このセッションのデータにアクセスする必要があります。ただし、セッションがまだ設定されていない場合は、エラーが発生せずにアクセスできません。セッションが存在しない場合に設定できるように、セッションが設定されているかどうかを確認する方法はありますか?

4

2 に答える 2

51

セッションが設定されているかどうかではなく、キーがセッションに設定されているかどうかを確認したいと思います(後者の意味がわかりません)。もしそうなら:

できるよ:

if key not in request.session:
    # Set it.

あなたの場合:

if 'cart' not in request.session:
    # Set it.

編集key not in:ではなく使用するコード スニペットを変更しましたnot key in。ありがとう@katrielalex。

于 2010-10-11T18:02:42.070 に答える
19

セッション ディクショナリで -method を使用できますget。キーが存在しない場合でもエラーはスローされませんが、デフォルト値またはカスタム デフォルト値として none が返されます。

cart = request.session.get('cart')
cart = request.session.get('cart', 'no cart')
于 2010-10-11T18:16:52.337 に答える