0

내 Python 나머지 API 응용 프로그램에서 django oauth2 툴킷을 성공적으로 포함 시켰으며 로그인하는 동안 accesstoken을 얻었습니다. 이제 API를 작성해야합니다. 현재 로그인 한 사용자와 그의 그룹 정보 및 그룹 권한.나머지 사용자 정보 및 그룹 사용 권한을 나머지 API에 로그인하십시오.

내 urls.py

url(r'me', get_me), 

내 serialzers.py

class UserGroupSerializer(serializers.ModelSerializer): 
    permissions = serializers.SerializerMethodField(required=False) 
    groups = serializers.SerializerMethodField(required=False) 

    def get_groups(self, obj): 
     group_list = [] 
     for group in obj.groups.all(): 
      group_list.append(group.name) 
     return group_list 


    def get_permissions(self, obj): 
     permissions = [] 
     for group in obj.groups.all(): 
      group_permissions = group.permissions.all().values_list('codename', flat=True) 
      for group_permission in group_permissions: 
       permissions.append(group_permission) 
     return permissions 

    class Meta: 
     model = get_user_model() 
     exclude = ('password','user_permissions',) 
     #fields = '__all__' 

내 views.py

def get_me(request): 
    user = request.user 
    return { 
     'user': UserGroupSerializer(user).data, 
    } 

나는이 API를 호출 할 때, 나는 다음과 같은 오류가 발생하고,

보기 account.views.get_me이 (가) HttpResponse 객체를 반환하지 않았습니다. 그 대신 은 None을 반환했습니다.

무엇이 문제입니까? 다음과 같은 올바른 방법이 있습니까?

답변

1

HttpResponse 또는 get_me 기능에 대한 다른 응답 기능을 사용하여 값을 반환해야합니다. 이 일을

DRF 방법 : 작업

from rest_framework.response import Response 
from rest_framework import status 
from rest_framework.decorators import api_view 

@api_view(['GET']) 
def my_funct(request): 
     user = request.user 
     return Response({'user': UserGroupSerializer(user).data}, status=status.HTTP_200_OK) 
+0

그게 없습니다. 이 오류를 나타내는 /api/v1/me의 AssertionError 응답에서 응답이 없습니다. –

+0

응답을 편집했습니다. 이것은 효과가있다. –

+0

예. 그것은 효과가 있었다. 감사. 사용자 세부 정보 및 사용 권한을 얻는 가장 좋은 방법입니까? –

관련 문제