2011-01-18 6 views
5

Phiên làm việc hoàn hảo trong tất cả các trình duyệt khác mà tôi đã thử nghiệm.Phiên Django không hoạt động trong Internet Explorer

Nếu tôi cố gắng để có được phiên id với sessionid = request.COOKIES['sessionid'], tôi nhận được lỗi này: KeyError: 'sessionid'

Đây là những gì tôi có trong settings.py của tôi:

CACHE_BACKEND = 'memcached://127.0.0.1:11211/' 
SESSION_COOKIE_DOMAIN = '.vb.is' 
SESSION_ENGINE = 'django.contrib.sessions.backends.cache' 

Sites là vb.is, fiskifrettir .vb.is và hestabladid.vb.is

alt text

thiết lập server là: apache2 (mod_wsgi) và nginx

+0

Cookie có được bật trong trình duyệt đó không? –

+0

Có, không ai có thể đăng nhập bằng IE. – demux

+0

Thực hiện điều này: print request.session.session_key. Và hãy xem liệu sessionid có được xác định hay không. – zsong

Trả lời

4

Đặt cookie trên XX.XX sẽ không hoạt động nói chung. Xem Q # 6 tại đây: http://blogs.msdn.com/b/ieinternals/archive/2009/08/20/wininet-ie-cookie-internals-faq.aspx và xem http://blogs.msdn.com/b/ieinternals/archive/2009/09/19/private-domain-names-and-public-suffixes-in-internet-explorer.aspx.

Bạn có thể tránh sự cố bằng cách đặt cookie có tên miền = WWW.vb.is thay thế.

+0

Tôi giả sử đó là để ngăn các trang web đặt cookie cho ".co.uk" và thích. –

+0

đặt cookie cho www.vb.is sẽ không hữu ích vì tôi cần truy cập cookie đó từ secure.vb.is để thiết lập hiện tại của tôi hoạt động. Vì vậy, điều bạn đang nói là tôi không thể có các phiên liên tục giữa nhiều miền ... – demux