Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django Rest框架身份验证问题_Django_Authentication_Django Rest Framework - Fatal编程技术网

Django Rest框架身份验证问题

Django Rest框架身份验证问题,django,authentication,django-rest-framework,Django,Authentication,Django Rest Framework,我是Django的新手。我已经使用DRF创建了RESTAPI。我的Django有3个应用程序。现在我想应用身份验证。我看到了很多帮助,但我没有正确地应用身份验证。我还希望模型应该附加到用户。这样一个用户就看不到另一个用户的条目。有谁能帮我详细地告诉我如何实现这一点吗 提前谢谢。如果有人回答,这将是一个很大的帮助 您可以添加自定义权限 class IsOwnerOnlyAllowed(permissions.BasePermission): def has_object_permissi

我是Django的新手。我已经使用DRF创建了RESTAPI。我的Django有3个应用程序。现在我想应用身份验证。我看到了很多帮助,但我没有正确地应用身份验证。我还希望模型应该附加到用户。这样一个用户就看不到另一个用户的条目。有谁能帮我详细地告诉我如何实现这一点吗


提前谢谢。如果有人回答,这将是一个很大的帮助

您可以添加自定义权限

class IsOwnerOnlyAllowed(permissions.BasePermission):

    def has_object_permission(self, request, view, obj):
        return obj.owner == request.user
您可以添加
permission\u classes=(IsOwnerOnlyAllowed,)

此外,您还可以覆盖视图的
queryset
属性,以仅提供与登录用户相关的条目

编辑您的视图

from rest_framework import generics 
from .models import DatasetModel 
from .serializer import DatasetSerializer 

class DatasetView(generics.ListCreateAPIView):
    queryset = DatasetModel.objects.all() 
    serializer_class = DatasetSerializer

    def get_queryset(self):
        return self.queryset.filter(owner=self.request.user)

到目前为止你试过什么??显示一些代码。我已将所有者包含在其中一个模型中:
owner=models.ForeignKey('auth.User',related\u name='jobs',on\u delete=models.CASCADE)
在我包含的视图中:
permission\u classes=(permissions.IsAuthenticated,)
你能详细说明一下怎么做吗?
从rest\u框架从导入泛型。模型从导入DatasetModel。序列化器导入DatasetSerializer类DatasetView(generics.ListCreateAPIView):queryset=DatasetModel.objects.all()序列化器\u class=DatasetSerializer