2012-08-05 15 views
6

के साथ jsonp का उपयोग करना django rest framework रिलीज नोट्स का दावा है कि JSONP समर्थन 0.3.0 में वापस जोड़ा गया था। मुझे ढांचे में एक JSONPRenderer क्लास भी मिला। हालांकि, मुझे इस बात का उपयोग करने के तरीके पर कोई दस्तावेज नहीं मिल रहा है ... मैं जेसनपी के लिए बिल्कुल नया हूं।django-rest-framework

क्या किसी ने कभी भी django आराम ढांचे के साथ jsonp का सफलतापूर्वक उपयोग किया है?

उत्तर

5

इसे पोस्ट करते समय, मुझे जवाब (या कम से कम एक उत्तर) मिला। ऐसा प्रतीत होता है कि जेएसएसपी रेंडरर मॉडल मॉडल पर डिफ़ॉल्ट रूप से उपलब्ध है, इसलिए आपको केवल यूआरएल अनुरोध करने के लिए "? Format = json-p" जोड़ना है।

+2

[यहां] [http://django-rest-framework.org/api-guide/renderers.html#jsonprenderer) आधिकारिक दस्तावेज़ीकरण। 'rest_framework.renderers.JSONRenderer', 'rest_framework.renderers.JSONPRenderer', 'rest_framework.renderers.BrowsableAPIRenderer' (,: – chaselee

+2

बस इसे googling हर किसी के लिए कुछ मिनट बचाने के लिए: REST_FRAMEWORK = { 'DEFAULT_RENDERER_CLASSES' ), – vincent

+1

अपडेट: यह डीजेंगो रेस्ट फ्रेमवर्क वितरण का हिस्सा होता था, लेकिन अब यह तीसरे पक्ष के पैकेज के रूप में उपलब्ध है http://jpadilla.github.io/django-rest-framework-jsonp/ –

0
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}) 
2

बस अगर कोई jsonp की तलाश में है।

पहले (docs):

pip install djangorestframework-jsonp

और फिर अपने बाकी ढांचे सेटिंग्स को संशोधित।

REST_FRAMEWORK = { 
    'DEFAULT_RENDERER_CLASSES': (
    'rest_framework_jsonp.renderers.JSONPRenderer', 
), 
} 

अंत में सुनिश्चित करें कि आपके यूआरएल ?format=jsonp और नहीं ?format=json-p शामिल हैं।