0
現在、私はrequests
ライブラリを使用して内部API呼び出しを行っています。しかし、それはステージングに失敗します。Django内部API呼び出しを行う方法?
class LoginSubscriber(generics.GenericAPIView):
queryset = User.objects.all()
serializer_class = LoginSerializer
client_id = settings.client_id
client_secret = settings.client_secret
def user_logged_in(self, username, password, host):
data = [('grant_type', 'password'),
('username', username),
('password', password),
('scope', 'read')]
return requests.post(self.protocol + host + '/oauth/token/', data=data, auth=(self.client_id, self.client_secret)) #
def post(self, request):
serializer = self.get_serializer(data=request.data)
if serializer.is_valid():
data = serializer.data
host = request.META['HTTP_HOST']
logged_in_token = self.user_logged_in(request, data['username'],data['password'], host)
if logged_in_token:
return Response({'token': logged_in_token.text}, status=status.HTTP_200_OK)
return Response({'status': 'Failed Authentication'}, status=status.HTTP_401_UNAUTHORIZED)
return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
リクエストライブラリなしでこれを達成する方法はありますか?
ビューには、そのURLのどのようなことを行うことができますか?嘲笑されたリクエストでそれを呼び出すか、それと同様のヘルパー機能を呼び出しますか? –
任意のサンプルコード.. –
私はハンドラ/関数が 'post'edデータを受け取り、何かをして何らかの応答を返すと仮定します。その機能に認証データを渡すのはなぜですか? – marmeladze