字典的请求一直以Str的形式出现,我怎样才能使它作为字典通过?

时间:2018-11-02 21:29:27

标签: javascript python angularjs django django-rest-framework

嗨,我做了一个http POST,它一直以字符串形式接收。我正在尝试将其作为字典使用,以便我可以提取每个键,值。

我有$http.post('/route/', data).success({console.log("succes")}}

我的数据:

    var data ={}

    data['company'] = user.user.company_name
    data['farmer'] = user.farmer
    data['number'] = "+14087729399"

然后从我的观点来看:

def initiate_sms(request):
    user_data = request.body
    print user_data

并打印为:

{"company":"AkshaYagna","farmer":"Child.farm 06","number":"+14087729399"}

声明整个内容是一个字符串。我觉得我在这里缺少什么。

2 个答案:

答案 0 :(得分:0)

request.body返回字节字符串。因此,您可以使用json.loads函数,例如:

import json

def initiate_sms(request):
    user_data = request.body
    user_data = json.loads(user_data)
    print(user_data)

答案 1 :(得分:0)

由于您使用的是 Django RESTFramework ,因此可以使用request.data获取已解析的内容。

def initiate_sms(request):
    user_data = request.data  # change is here 
    print user_data # this will be a either "dict" data type or "QueryDict" data type