django rest 框架发布说明声称在 0.3.0 中添加了 JSONP 支持。我还在框架中找到了一个 JSONPRenderer 类。但是,我似乎找不到任何关于如何使用这个东西的文档......我对 jsonp 相当陌生。
有没有人成功地将 jsonp 与 django rest 框架一起使用?
django rest 框架发布说明声称在 0.3.0 中添加了 JSONP 支持。我还在框架中找到了一个 JSONPRenderer 类。但是,我似乎找不到任何关于如何使用这个东西的文档......我对 jsonp 相当陌生。
有没有人成功地将 jsonp 与 django rest 框架一起使用?
在发布此内容时,我找到了答案(或至少是一个答案)。jsonp 渲染器似乎默认在 ModelResource 上可用,因此您需要做的就是将“?format=json-p”添加到请求的 url。
以防万一有人在寻找jsonp
。
首先(文档):
pip install djangorestframework-jsonp
然后修改您的 REST 框架设置。
REST_FRAMEWORK = {
'DEFAULT_RENDERER_CLASSES': (
'rest_framework_jsonp.renderers.JSONPRenderer',
),
}
最后确保您的网址包含?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})