Django Rest framework - Я пытаюсь преобразовать свойство, полученное в объекте Response, в объект JSON и выполнить итерацию по нему. Но ответ представляет собой строку

В файле views.py VENDOR_MAPPER - это список словарей, каждый из которых имеет id, имя, placeholder и ключ autocommit. Я также пробовал отправлять json вместо объекта Response.

resp_object = {}
resp_object['supported_vendors'] = VENDOR_MAPPER
resp_object['vendor_name'] = ""
resp_object['create_vo_entry'] = False
resp_object['generate_signature_flag'] = False
resp_object['branch_flag'] = False
resp_object['trunk_flag'] = False
resp_object['branch_name'] = ""
resp_object['advisory'] = ""
data = {'data': resp_object}
return Response(data)

В файле home.html я получаю доступ к vendors_supported, который является списком, и выполняю итерацию по нему, однако вместо объекта я получаю строку в качестве типа переменной.

var supported_vendors = "{{data.supported_vendors|safe}}";
console.log(supported_vendors);
console.log("Supported_vendors ", supported_vendors);
console.log("Supported_vendors_type:", typeof(supported_vendors));

data.supported_vendors|safe (тегирование шаблона django) используется для удаления нежелательных символов в ответе, я также пробовал без safe, но все равно тип был string

также пробовал конвертировать и разобрать ответ, но тип отображается как string

var supported_vendors = "{{data.supported_vendors}}";
console.log(JSON.parse(supported_vendors));
console.log(JSON.stringify(supported_vendors));

Сгенерированный вывод, я распечатал тип ответа и значения, которые я получаю, также преобразование с помощью JSON.parse и JSON.stringify не сработало и каждый раз выводилась строка [1]: https://i.stack.imgur.com/DuSMb.png

Я хочу преобразовать свойство в объект javascript и выполнить некоторые вычисления

Вы можете попробовать следующее вместо Response,

from django.http import JsonResponse
...
return JsonResponse(data)

Я получил ответ:

    var supported_vendors = "{{data.supported_vendors}}";

Преобразуйте приведенную выше строку в

    var supported_vendors = {{data.supported_vendors}};

удалены кавычки из переменной

Вернуться на верх