若是咱們有兩個django應用site1和site2同時跑在同一個server的不一樣端口,同時咱們在同一個瀏覽器的不一樣tab登陸。那麼這時就出出現這種狀況,當咱們登陸site2時就會將site1上登陸的用戶踢下來。django
爲何會出現這種狀況呢?這跟django的session框架有關,這裏作一個簡單介紹:當咱們第一次訪問一個django網站時,django會生成一個session來保存當前會話的一些信息。同時會生成一個哈希值session_key並生成一個cookie發送給客戶端,這個cookie的名字根據setting中SESSION_COOKIE_NAME設置,默認爲「sessionid」(劃重點)。這樣下次請示session_key就會跟隨cookie發送到server。server根據session_key查找對應session對象,獲取當前會話的信息,固然也包括登陸信息。瀏覽器
因此上面的狀況真相只有一個(柯南推眼鏡臉):cookie
那麼怎麼解決呢,瞭解上面機制後,只須要在setting中設置SESSION_COOKIE_NAME便可。好比能夠在site2中設置SESSION_COOKIE_NAME = ‘site2’,site1中用默認。固然也可同時設置site1和site2。session
這裏是老瘦家的兒子,如需轉載請聲明,我替老瘦感謝你框架