我的应用程序正在接收多部分表单数据作为请求的一部分。它在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
但它的效率非常低且有问题。即如果值为空则会抛出错误
答案 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