Django Tastypie篡改多部分表格数据

时间:2016-01-28 06:37:07

标签: python django tastypie

我的应用程序正在接收多部分表单数据作为请求的一部分。它在request.body中作为String。有没有一种简单的方法来解析它并将其转换为python字典

我的request.body给了我以下

'------WebKitFormBoundaryUljHZoRAHNz2UgwB\r\nContent-Disposition: form-data; name="password"\r\n\r\n123\r\n------WebKitFormBoundaryUljHZoRAHNz2UgwB\r\nContent-Disposition: form-data; name="email"\r\n\r\na@b.com\r\n------WebKitFormBoundaryUljHZoRAHNz2UgwB--\r\n'

我正在通过

将其转换为词典
        x= re.findall('name=.*\s\s.*\s.*',request.body)
        z={}
        for a in x:
            z[repr(re.findall('".+"',a))[3:-3]]=re.findall('\s\S+\s',a)[0][1:-1]
        requestData=z

但它的效率非常低且有问题。即如果值为空则会抛出错误

1 个答案:

答案 0 :(得分:1)

使用Django的MultiPartParser:https://github.com/django/django/blob/master/django/http/multipartparser.py#L45

from django.http.multipartparser import MultiPartParser

parser = MultiPartParser(request.META, request.body, request.upload_handlers)
POST, FILES = parser.parse()

或尝试:

request._load_post_and_files()
request.POST
request.FILES