2017-05-11 179 views
0

我建立了一個網站,我有兩種類型的用戶。 對於每種類型的用戶,我都有一個對應的django應用程序。Django的用戶角色

我希望當我以類型A用戶或類型B用戶登錄網站時,將被重定向到相應的django應用程序,並且不能訪問其他應用程序。記錄每個用戶將有一個相應的表格。

這種情況的最佳方法是什麼?

+0

在知道登錄用戶的類型之前,您打算如何選擇登錄表單?另外,這兩個用戶在你的應用中會有什麼共同點? –

+0

我將有一個主頁,其中包含A類用戶的表單和B類用戶的表單,因此您可以選擇以A | B類型的用戶身份登錄。 他們會有共同的基本信息,但最終他們會分歧。 – bsd

回答

0

嘗試使用Django Groups Model,所以你會創建兩個組:A型和B型;每個用戶都將在其中一個組中。在你的索引視圖中,檢查用戶屬於哪個組並重定向,無論你想要什麼。

def index(request): 
    if request.user.groups.filter(name='type A').exists(): 
    return redirect('/url_type_A/') 
    elif request.user.groups.filter(name='type B').exists(): 
    return redirect('/url_type_B/') 

現在您可以爲每個組創建訪問某個視圖或執行特定操作的權限。我建議創建兩個應用程序(python manage.py startapp typeApython manage.py startapp typeB),以便您可以重定向專用於該用戶類型的整個界面。