MultiPartParserError :- Ungültige Grenze

Ich versuche, um Daten zu senden und die Datei mit Python-requests-Modul zu meinem django-rest-Anwendung bekomme aber immer die folgende Fehlermeldung.

    raise MultiPartParserError('Invalid boundary in multipart: %s' % boundary)
MultiPartParserError: Invalid boundary in multipart: None

Code:-

import requests
payload={'admins':[
                    {'first_name':'john'
                    ,'last_name':'white'
                    ,'job_title':'CEO'
                    ,'email':'[email protected]'
                    },
                    {'first_name':'lisa'
                    ,'last_name':'markel'
                    ,'job_title':'CEO'
                    ,'email':'[email protected]'
                    }
                    ],
        'company-detail':{'description':'We are a renowned engineering company'
                    ,'size':'1-10'
                    ,'industry':'Engineering'
                    ,'url':'http://try.com'
                    ,'logo':''
                    ,'addr1':'1280 wick ter'
                    ,'addr2':'1600'
                    ,'city':'rkville'
                    ,'state':'md'
                    ,'zip_cd':'12000'
                    ,'phone_number_1':'408-393-254'
                    ,'phone_number_2':'408-393-221'
                    ,'company_name':'GOOGLE'}
        }
files = {'upload_file':open('./test.py','rb')}
import json
headers = {'content-type' : 'application/json'}      
headers = {'content-type' : 'multipart/form-data'}      

#r = requests.post('http://127.0.0.1:8080/api/create-company-profile/',data=json.dumps(payload),headers=headers,files=files)
r = requests.post('http://127.0.0.1:8080/api/create-company-profile/',data=payload,headers=headers,files=files)
print r.status_code
print r.text

Django-code:-

class CompanyCreateApiView(CreateAPIView):
    parser_classes = (MultiPartParser, FormParser,)
    def post(self, request, *args, **kwargs):
        print 'request ==', request.data
  • Sie haben ausdrücklich Hinzugefügt, die multipart-header, der sollte einen ;boundary=<value> - daher Django scheitern. requests nicht überschreiben Ihre Header, damit Ihre falschen header verwendet wird. Ich würde Sie einfach lassen requests tun Sie es, und entfernen Sie die headers = code.
  • Ich habe eine django-rest-framework tag zu Ihrer Frage. Ich hoffe, Sie nicht mind.
InformationsquelleAutor user1050619 | 2015-12-17
Schreibe einen Kommentar