django rest框架发布说明声明JSONP支持已在0.3.0中加入。我还在框架中找到了一个JSONPRenderer类。但是,我似乎无法找到任何关于如何使用这些东西的文档...我对jsonp相当陌生。将jsonp与django-rest-framework结合使用
有没有人成功地使用jsonp与Django rest框架?
django rest框架发布说明声明JSONP支持已在0.3.0中加入。我还在框架中找到了一个JSONPRenderer类。但是,我似乎无法找到任何关于如何使用这些东西的文档...我对jsonp相当陌生。将jsonp与django-rest-framework结合使用
有没有人成功地使用jsonp与Django rest框架?
在发布此消息时,我找到了答案(或至少答案答案)。看起来,默认情况下,ModelSource上的jsonp渲染器是可用的,所以您只需将“?format = json-p”添加到请求的url。
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})
以防万一有人在寻找jsonp
。
优先(docs):
pip install djangorestframework-jsonp
然后修改您的REST框架设置。
REST_FRAMEWORK = {
'DEFAULT_RENDERER_CLASSES': (
'rest_framework_jsonp.renderers.JSONPRenderer',
),
}
最后请确保您的网址包含?format=jsonp
而不是?format=json-p
。
[Here's](http://django-rest-framework.org/api-guide/renderers.html#jsonprenderer)官方文档。 – chaselee 2013-11-12 23:08:19
只是为了节省几分钟时间给大家google搜索它: REST_FRAMEWORK = { 'DEFAULT_RENDERER_CLASSES':( 'rest_framework.renderers.JSONRenderer', 'rest_framework.renderers.JSONPRenderer', 'rest_framework.renderers.BrowsableAPIRenderer', ), – vincent 2014-06-19 08:30:43
更新:它曾经是django rest框架发行版的一部分,但它现在作为第三方软件包提供http://jpadilla.github.io/django-rest-framework-jsonp/ – 2015-04-17 07:49:18