我有一个非常简单的问题。我有一个正在扩展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):
...