Запрос словаря продолжает поступать как Str, как я могу заставить его пройти как словарь? - PullRequest
0 голосов
/ 03 ноября 2018

Привет, я сделал 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 голосов
/ 03 ноября 2018

Поскольку вы используете Django RESTFramework , вы можете использовать request.data для получения проанализированного содержимого.

def initiate_sms(request):
    user_data = <b>request.data  # change is here</b> 
    print user_data # this will be a either "dict" data type or "QueryDict" data type
0 голосов
/ 03 ноября 2018

request.body возвращает байтовую строку. Таким образом, вы можете использовать функцию json.loads , например:

import json

def initiate_sms(request):
    user_data = request.body
    user_data = json.loads(user_data)
    print(user_data)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...