[Django]-Tastypie request user is anonymous on logout method

5👍

If you’re making your own custom tastypie URLs you need to call the tastypie authentication yourself before the request.user object is populated correctly.

def logout(self, request, **kwargs):
    """ 
    Attempt to log a user out, and return success status.       
    """
    self.method_check(request, allowed=['get'])

    # Run tastypie's BasicAuthentication
    self.is_authenticated(request)

    if request.user and request.user.is_authenticated():
        logout(request)
        return self.create_response(request, { 'success': True })
    else:
        return self.create_response(request, { 'success': False, 'error_message': 'You are not authenticated, %s' % request.user.is_authenticated() })

Leave a comment