Я в настоящее время передаю данные через запрос POST, используя следующий метод jQuery ajax, и я успешно получаю результат возврата в моей консоли (см. Ниже), в котором отображается JSON запрос, который был отправлен на сервер. Однако я не могу понять, как разбирать объект JSON в представлении Django. Что я пишу свое мнение, чтобы я мог проанализировать свой объект JSON и получить «schedule_name», чтобы выполнить приведенную ниже команду в представлении Django. См. Копию моего обзора ниже.Как разбирать объект JSON в Django View from Ajax POST
Schedule.objects.create (schedule_name = Расписание)
$.ajax({
type: "POST",
url: "{% url 'addSchedule' building_pk %}",
dataType: "json",
data: {"json_items" : JSON.stringify(Schedule_Info)},
success : function(data)
{
$('.todo-item').val(''); // remove the value from the input
console.log(data); // log the returned json to the console
console.log("success"); // another sanity check
alert("Sucess");
},
JSON-вывода в консоли после подачи запроса
json-items: "{
"nameOfSchedule":{"schedule_name":"Schedule"},
"Rooms":[
\t {"room_rank":"1","room_name":"Room 101 "},
\t {"room_rank":"2","room_name":"Room 102 "},
\t {"room_rank":"3","room_name":"Room 103 "},
\t {"room_rank":"4","room_name":"Room 104 "}
\t ],
"Users":[
\t {"user_name":"[email protected]"},
\t {"user_name":"[email protected]"}
\t ]
}"
Django View
def addSchedule(request, building_id):
building_pk = building_id
b = Building.objects.get(pk=building_pk)
floor_query = b.floor_set.all()
master_query = floor_query.prefetch_related('room_set').all()
if request.is_ajax() and request.POST:
data = request.POST
### Input the schedule name in the datase by parsing the JSON object
return HttpResponse(json.dumps(data),content_type="application/json")
else:
return render(request, 'scheduler/addSchedule.html', {'building_pk' : building_pk,
'building_query': master_query
})
Возможный дубликат [ Разбор значений из файла JSON в Python] (http://stackoverflow.com/questions/2835559/parsing-values-from-a-json-file-in-python) – souldeux