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”;self.request.user“;使用令牌身份验证_Django_Vue.js_Django Rest Framework_Django Authentication - Fatal编程技术网

“得到Django”;self.request.user“;使用令牌身份验证

“得到Django”;self.request.user“;使用令牌身份验证,django,vue.js,django-rest-framework,django-authentication,Django,Vue.js,Django Rest Framework,Django Authentication,我有一个Django Rest/Vue.js应用程序。我使用的是基本的Django身份验证,但由于它是一个单页应用程序,所以我切换到令牌身份验证,这样我就可以通过端点管理登录/注销/注册,并获得更一致的应用程序 总体来说,工作正常,但我的主要问题是我设置了一些权限并覆盖了一些视图集。我必须禁用它们才能让我的应用程序使用令牌身份验证: 我的权限: from rest_framework import permissions class IsOwnReviewOrReadOnly(perm

我有一个Django Rest/Vue.js应用程序。我使用的是基本的Django身份验证,但由于它是一个单页应用程序,所以我切换到令牌身份验证,这样我就可以通过端点管理登录/注销/注册,并获得更一致的应用程序

总体来说,工作正常,但我的主要问题是我设置了一些权限并覆盖了一些视图集。我必须禁用它们才能让我的应用程序使用令牌身份验证:

我的权限:

from rest_framework import permissions

    class IsOwnReviewOrReadOnly(permissions.BasePermission):
    
        def has_object_permission(self, request, view, obj):
            if request.method in permissions.SAFE_METHODS:
                return True
    
            return obj.restaurant_review.review_author == request.user
    
    class IsAuthorOrReadOnly(permissions.BasePermission):
    
        def has_object_permission(self, request, view, obj):
            if request.method in permissions.SAFE_METHODS:
                return True
    
            return obj.review_author == request.user
和我的视图集:

class RestaurantReviewViewset(viewsets.ModelViewSet):
    queryset = models.RestaurantReview.objects.all().order_by("-created_at")
    def get_serializer_class(self):
        if self.request.method == 'GET':
            return serializers.RestaurantReviewGETSerializer 
        else:
            return serializers.RestaurantReviewSerializer 

    permission_classes = [IsAuthenticatedOrReadOnly,IsAuthorOrReadOnly]

    def perform_create(self, serializer):
        serializer.save(review_author=self.request.user)
所以我猜Django找不到
请求。user
,这与我的新身份验证有关吗?令牌身份验证可以提供吗?

post your settings.py(REST框架设置)。