0

私はこの質問が以前に答えられたことを知っていますが、答えは私の混乱をカバーしていませんでした。Django Rest Frameworkトークン認証

だから私は、ユーザーが、私はPOSTリクエストを作成し、ユーザー名とパスワードが正しい場合は、トークンを返し、ユーザー名と正確であると

@api_view(['POST']) 
def example_view(request, format=None): 
    username = request.data.get("username") 
    password = request.data.get("password") 
    content = {} 
    try: 
    user = User.objects.get(username=username) 
    if user.check_password(password): 
     content = {'user': unicode(user.username),'token': unicode(user.auth_token),} 
    else: 
     content = {'wrong password'} 
    except User.DoesNotExist: 
    content = { 
     'not registered', 
     } 
    return Response(content) 

をパスワードでかどうかを確認するビューを持っています。

は今、私がモデル -

class Check(models.Model): 
    owner = models.ForeignKey(User,verbose_name = 'UserName') 
    mood = models.TextField(null=True) 

を作って、私は基本的に欲しいIT-

class CheckSerializer(serializers.ModelSerializer): 
class Meta: 
    model = Check 
    fields = ('__all__') 

で同じモデル -

@api_view(['GET']) 
def CheckApi(request): 
    authentication_classes = (TokenAuthentication,) 
    permission_classes = (IsAuthenticated,) 

    ?? query_set = Check.objects.get(owner= 

    serializer = CheckSerializer(qs, many=True) 
    return Response(serializer.data) 

そして、シリアライザのための機能を持っていますユーザがと認証された後に行うことです、私はすべてのユーザーのデータを返すのではなく、ユーザーのデータを返すようにします。

答えて

0

リクエストオブジェクトにはユーザー(request.user)が含まれます。

http://www.django-rest-framework.org/api-guide/views/#api-policy-decorators

@api_view(['GET']) 
@authentication_classes(TokenAuthentication,) 
@permissions_classes(IsAuthenticated,) 
def CheckApi(request): 
    authentication_classes = (TokenAuthentication,) 
    permission_classes = (IsAuthenticated,) 

    query_set = Check.objects.get(owner=request.user) 

    serializer = CheckSerializer(qs, many=True) 
    return Response(serializer.data) 

あなただけのユーザーのオブジェクトへのアクセスを可能にするため、過負荷get_querysetをクラスビューセットを使用する予定がある場合。

関連する問題