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