如何通过Django REST Framework访问用户特定数据?

时间:2015-10-16 03:24:50

标签: django api django-rest-framework

我对如何使用任何API处理授权感到困惑,但是对于这个例子我正在使用Django REST Framework。

在我的非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应用程序或直接从终端访问这个private_info?是否可以只在HTTP标头中发送用户名/密码,并通过API以这种方式验证安全数据?

0 个答案:

没有答案