如何通过Django REST框架访问特定于用户的数据?

如何通过Django REST框架访问特定于用户的数据?,django,api,django-rest-framework,Django,Api,Django Rest Framework,我对如何使用真正的API处理授权感到困惑,但对于这个示例,我使用的是Django REST框架 在我的非API Django视图中,如果您以用户身份登录,我有一个函数可以访问用户信息: def UserInfo(request): if request.user.is_authenticated(): private_info = Entry.objects.filter(user=request.user) context = {'private_info':

我对如何使用真正的API处理授权感到困惑,但对于这个示例,我使用的是Django REST框架

在我的非API Django视图中,如果您以用户身份登录,我有一个函数可以访问用户信息:

def UserInfo(request):
    if request.user.is_authenticated():
        private_info = Entry.objects.filter(user=request.user)
    context = {'private_info': private_info}
    return render(request, 'userinfo.html', context)
现在这里有一个Django REST API用于同样的事情,但我仍然不了解如何处理身份验证

api_view(['GET'])
@csrf_exempt
def UserInfoAPI(request):
    if request.user.is_authenticated():
        private_info = Entry.objects.filter(user=request.user)
        serializer = EntrySerializer(private_info, many=True)
    return Response(serializer.data)

我猜这个API不会起作用,因为request.user.is_authenticated基本上会检查会话中的用户id吗?如果这是正确的,那么我如何从iOS应用程序或直接从终端访问此私有信息?是否可以通过HTTP头发送用户名/密码并通过API验证安全数据?

您是否查看了此处:?为了澄清您的疑问:每当您实现一个视图来处理到达特定url的请求时,您将始终拥有可访问的request.user,从这里,您可以根据已验证的用户在视图中执行所需的任何查询。DRF提供了一个验证层,因此,通过基本身份验证登录仍将填充
request.user
。您是否尝试过这个方法,并遇到了任何具体问题?