Django当前用户是匿名者



我有一个非常简单的问题。我有一个正在扩展Apiview的类,以传递JSON响应对URL的响应,该响应将用作API。我正在尝试从模型过滤数据,以便我仅获取属于当前用户的数据项。因此,我正在尝试访问request.user.id来设置我的过滤器。

从我的视图中,这是我正在使用的代码的片段:

class ChartData(APIView):
    authentication_classes = []
    permission_classes = []

    def get(self, request, format=None):
        print(self.request.user)

当我转到与此类关联的URL时,打印语句返回匿名者,好像不存在用户一样。

在同一views.py文件中,我有另一种方法(不在任何类中(设置为以下内容:

@login_required
def LogDisplay(request):
    print(request.user.id)

但是,当我转到与此方法关联的URL时,我将整数作为输出在控制台上。

我该如何制作,以便我的第一个方法也可以访问当前用户?

你很关闭。

在settings.py中:

REST_FRAMEWORK = {
    'DEFAULT_PERMISSION_CLASSES': (
        'rest_framework.permissions.IsAuthenticated',
    )
}

in Views.py:

from rest_framework.permissions import IsAuthenticated
class ChartData(APIView):
    authentication_classes = []
    permission_classes = [IsAuthenticated, ]
get(self, request, format=None):
    ...

最新更新