2010-06-17 27 views
0

我是一個Django初學者。Django登錄和註銷 - 不工作,如果prepend_www設置

我的網站 - 讓我們稱之爲abc.com - 運行良好,讓用戶登錄和註銷(最初通過Django註冊登記)。如果相關,我的virtuahosts文件具有ServerName abc.com和ServerAlias www.abc.com指令。

我不希望我的訪客感覺到abc.com和www.abc.com都存在,因此發現了Django的prepend_www設置,該設置按預期工作。但是,除了按預期工作外,還有一個副作用是在訪問www時禁用登錄和登出。我的網站的變種。

+0

你是什麼意思'禁用登錄'?當你嘗試時會發生什麼? – 2010-06-17 08:09:47

+0

當您嘗試在www上登錄時。網站的風格,你只需留在主頁上,沒有消息,就像你輸入的登錄信息不正確一樣。我想我可以通過編寫一些與prepend_www相反的中間件來解決這個問題 - 也就是說,將訪問www.abc.com的人帶到登錄功能正常的abc.com。 總而言之,理解真正發生的事情會很好。 – ropz 2010-06-17 08:33:06

回答

1

在你的settings.py嘗試設置:

SESSION_COOKIE_DOMAIN = ".abc.com" 

這將使餅乾適用於abc.com的所有子域。

+0

太棒了。謝謝Ned,非常感謝。不可能upvote - 沒有代表;-( – ropz 2010-06-17 11:34:26

+0

沒有問題,@ropz。你可以接受答案,但是,不是嗎? – 2010-06-17 15:45:32