2013-02-14 39 views
6

मैं http://django-rest-framework.org/ टोकन का उपयोग कर रहा हूं और अब टोकन प्राप्त करने का प्रयास कर रहा हूं। मैंने गाइड का पालन किया है। हालांकि,Django REST: अनुरोध में असमर्थित मीडिया प्रकार 'एप्लिकेशन/एक्सएमएल'

जब मैं यूआरएल के लिए एक पोस्ट बनाने की कोशिश:

Request Url: http://127.0.0.1:8001/api-token-auth/ 
Request Method: POST 
Status Code: 415 
Params: { 
    "username": "test", 
    "password": "test123" 
} 

मैं मिल निम्नलिखित प्रतिक्रिया

{ 
    "detail": "Unsupported media type 'application/xml' in request." 
} 

क्यों है?

धन्यवाद।

उत्तर

6

ऐसा लगता है कि आप XML सामग्री का उपयोग कर अनुरोध भेज रहे हैं।

docs note के रूप में, get_auth_token दृश्य JSON अनुरोध की अपेक्षा करता है।

सुनिश्चित करें कि डेटा JSON एन्कोड किया गया है, और आप 'सामग्री-प्रकार' शीर्षलेख को 'application/json पर सही ढंग से सेट कर रहे हैं।

1

ऐसा इसलिए है क्योंकि django-rest-framework एक से अधिक प्रारूप में डेटा वापस कर सकता है। यह स्पष्ट रूप से अनुरोध में "स्वीकार करें:" HTTP शीर्षलेख को देखकर किस प्रारूप पर निर्णय लेता है। उदाहरण के लिए "एप्लिकेशन/जेसन" जैसे कुछ इस हेडर के मान को बदलने का प्रयास करें।

+0

यह समान है, लेकिन असल में गलत स्वीकार करने वाले हेडर एक '406 स्वीकार्य' प्रतिक्रिया वापस नहीं करेंगे। –

+0

ओह, ठीक है। मुझे get_auth_token की विशिष्टता के बारे में पता नहीं था। – ssidorenko