django rest フレームワークのリリース ノートでは、JSONP サポートが 0.3.0 で追加されたと主張しています。フレームワークに JSONPRenderer クラスも見つかりました。ただし、その使用方法に関するドキュメントが見つからないようです...私はjsonpにかなり慣れていません。
django rest フレームワークで jsonp をうまく使用した人はいますか?
django rest フレームワークのリリース ノートでは、JSONP サポートが 0.3.0 で追加されたと主張しています。フレームワークに JSONPRenderer クラスも見つかりました。ただし、その使用方法に関するドキュメントが見つからないようです...私はjsonpにかなり慣れていません。
django rest フレームワークで jsonp をうまく使用した人はいますか?
これを投稿しているときに、答え(または少なくともANの答え)を見つけました。jsonp レンダラーは ModelResource でデフォルトで使用できるようです。そのため、必要なことは、要求元の URL に「?format=json-p」を追加することだけです。
誰かが探している場合に備えてjsonp
。
最初 ( docs ):
pip install djangorestframework-jsonp
次に、REST フレームワークの設定を変更します。
REST_FRAMEWORK = {
'DEFAULT_RENDERER_CLASSES': (
'rest_framework_jsonp.renderers.JSONPRenderer',
),
}
最後に、URL に が含まれていて、 が含まれ?format=jsonp
ていないことを確認してください?format=json-p
。
from rest_framework.views import APIView
from rest_framework_jsonp.renderers import JSONPRenderer, JSONRenderer
from rest_framework.response import Response
class YourClass(APIView):
renderer_classes = (JSONPRenderer, JSONRenderer)
def get(self, request, *args, **kwargs):
your_result = {{ your serialized result }}
return Response({'status': 'success', 'result': your_result})