2011-05-31 70 views
1

我正在創建一個安裝在各種不同站點上的小部件,我需要每個站點的不同用戶。問題是,同一人瀏覽可能有2個不同的網站一次打開使用我的小部件。這意味着我需要用戶同時登錄多個賬戶到同一個Django網站。允許一次登錄多個帳戶的用戶訪問同一個Django站點

從我的理解,Django通常假設每個會話只有1個用戶登錄。

什麼是最簡單和最有效的方法呢?

回答

1

我結束了不是存儲每個站點的數據存儲在用戶的會話,即session['site_id_1'] = user_obj_1session['site_id_2'] = user_obj_2,等...

登錄的,我只是將用戶數據存儲在適當的鍵。我沒有註銷,而是刪除了網站的密鑰。

0

我認爲你必須重寫會話中間件。在默認實現中,會話存儲在數據庫中,session_key保存在cookie中,cookie_name在settings.py中定義。

因此,如果您編寫自己的會話中間件,則可以爲每個站點定義不同的cookie名稱,並相應地從數據庫檢索會話。 django.contrib.sessions.middleware.SessionMiddleware是一個很好的模板。

相關問題