“得到Django”;self.request.user“;使用令牌身份验证
我有一个Django Rest/Vue.js应用程序。我使用的是基本的Django身份验证,但由于它是一个单页应用程序,所以我切换到令牌身份验证,这样我就可以通过端点管理登录/注销/注册,并获得更一致的应用程序 总体来说,工作正常,但我的主要问题是我设置了一些权限并覆盖了一些视图集。我必须禁用它们才能让我的应用程序使用令牌身份验证: 我的权限:“得到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
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框架设置)。