is_authenticated我進行這個測試:Allauth request.user是AnonymousUser在APIView,但鑑於
class IsAuthenticatedView(APIView):
def get(self, request):
print(request.user)
return Response({
"is_authenticated": "true" if request.user.is_authenticated else "false"
}, 200)
和
class IsAuthenticatedView(View):
def get(self, request):
print(request.user)
return Response({
"is_authenticated": "true" if request.user.is_authenticated else "false"
}, 200)
第二個不能正常加載,因爲一個AssertionError的。但是,這兩個請求中的user.user發生了變化,其中APIView會打印AnonymousUser,第二個會打印登錄的實際用戶。
我正在使用Facebook登錄驗證。
採取'request.user.is_authenticated()''失蹤()' – anupsabraham
這不是問題,它甚至還沒有工作的()。 – Berry
您是否在設置中設置了「DEFAULT_AUTHENTICATION_CLASSES」?您可能希望這樣: 'REST_FRAMEWORK = { 'DEFAULT_AUTHENTICATION_CLASSES':( 'rest_framework.authentication.SessionAuthentication', ) }' 從[這裏]摘自(HTTP://www.django-rest-framework .org/api-guide/authentication /#how-authentication-is-determined) – Zevgon