2010-10-11 11 views
13

Django'da nispeten basit bir alışveriş sepeti oluşturmaya çalışıyorum. Arabayı request.session ['cart'] içinde saklıyorum. Bu nedenle, herhangi bir şey eklendiğinde bu oturumdaki verilere erişmem gerekecek. Ancak, oturum henüz ayarlanmamışsa, hata almadan erişemiyorum. Zaten bir oturum ayarlanmış olup olmadığını kontrol etmek için var mıdır, yoksa var mıdır?Oturum Anahtarı Django olarak ayarlanmış mı kontrol edin

cevap

35

Sana anahtar bir seans ayarlanır değilse, oturumda ayarlanmış olup olmadığını kontrol etmek istiyorum varsayılmaktadır (Ne ikincisi demek bilmiyorum). Eğer öyleyse:

Sen yapabilirsiniz:

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

Senin durumunda:

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

DÜZENLEME: key not in yerine not key in kullanmak kod parçacığını değiştirdi. Teşekkürler @katrielalex.

+3

The pythonic yolu, eğer request.session'da değilse. – katrielalex

11

Anahtar yoksa, bu bir hata atmaz oturumu sözlüğe get kullanılan yöntem kullanabilirsiniz, ancak varsayılan değer veya özel varsayılan değer olarak none dönebilirsiniz:

cart = request.session.get('cart') 
cart = request.session.get('cart', 'no cart') 
İlgili konular