2010-03-07 126 views
0

我有以下4行代碼,我在我的django視圖中不斷重複使用。我想要一個函數將最終值(登錄用戶的所有對象)傳遞給我的其他函數以及如何調用它。作爲一個修復,我必須繼續在我的所有功能中使用這些行。將變量傳遞給其他函數的Django函數

sessionkey = request.session.session_key 
session = Session.objects.get(session_key=sessionkey) 
uid = session.get_decoded().get('_auth_user_id') 
user = UserProfile.objects.get(pk=uid) 

感謝

+0

究竟做你想做的事 - 因爲我看到它,你想把這個信息從你的視角傳遞給一個功能......或者你......? – aviraldg 2010-03-07 13:21:38

+0

是的,我想將登錄用戶的信息傳遞給我的視圖中的其他功能 – 2010-03-07 13:33:44

回答

1
def get_userprofile_from_session_via_request(request): 
    sessionkey = request.session.session_key 
    session = Session.objects.get(session_key=sessionkey) 
    uid = session.get_decoded().get('_auth_user_id') 
    user = UserProfile.objects.get(pk=uid) 
    return user 

當然,我不知道你爲什麼會沒有簡化這:

def get_userprofile_from_session_via_request(request): 
    user = UserProfile.objects.get(pk=request.session['_auth_user_id']) 
    return user 
+0

如何調用user.is_staff。當我嘗試'get_userprofile_from_session_via_request.user.is_staff'時,我得到一個錯誤,指出'函數'對象沒有屬性'user' – 2010-03-07 13:37:14

+0

這是一個函數。調用它,從視圖中傳遞'request'作爲第一個參數。 – 2010-03-07 13:44:21