2011-12-19 9 views
0

自分のアカウントに固有の分析データを表示する複数のクライアント用のアプリケーションを開発したいと考えています。これまでは制限付きページ用に@login_requiredデコレータを使用してビューファイルを設定しました。今私は自分のデータを取得するためにそのユーザーを識別する必要があります。Django Authorization-ビューでユーザーを特定する

bit of researchは、私が使用できることを示唆している:明らかに、私はデータが属するユーザーを識別するために分析データベース内のフィールドとして使用できるのuser_idを返し

from django.contrib.sessions.models import Session 
from django.contrib.auth.models import User 

session_key = request.session.session_key() 

session = Session.objects.get(session_key=session_key) 
uid = session.get_decoded().get('_auth_user_id') 

を。

これをやり遂げるには、これが最善の方法ですか、より優れた、よりエレガントな代替手段を提案する人はいますか?

注:私が提案したソリューションはテストしていません。頭の中ではうまくいくようです。あなたがビューにあるとき

+0

ここでは、ユーザー認証を追加してページにユーザー名を表示する方法を説明します。 :http://mdukehall.wordpress.com/2011/12/15/django-python-adventure-part-4/ –

+0

また、より複雑な/役割が必要な場合は? http://stackoverflow.com/questions/1546670/django-role-based-views –

答えて

6

により、ユーザ(オブジェクト)で、現在ログインにアクセスすることができます。

@login_required 
def my_view(request): 
    user = request.user 
    do_something(user) 
    ... 
1

は、あなたがrequestオブジェクトにログインしているユーザーにアクセスすることができます

def myview(request): 
    request.user 

    # or, if you want, 
    request.user.id 
関連する問題