通过$ http.post以角度发送数组到django视图

时间:2014-12-17 08:00:38

标签: python django angularjs

我想将此请求发送到django视图:

$http({
        method: "post",
        url: "/enterprises/vouchers/_send",
        data: {
            group_id: group_id,
            group_student_ids: [1, 2, 3, 4]
        }
    }).success(function (response) {
        console.log("emails are sent. please check");
    }).error(function () {
        console.log("failed")
    });

在视图中,我将它们分配如下:

group_student_ids = request.POST['group_student_ids']
group_id = request.POST['group_id']

“group_id”按预期分配,但django正在为aray对象抛出MultiValueDictKeyError(group_student_ids)

如何通过邮寄请求发送数组?

2 个答案:

答案 0 :(得分:1)

这应该有效:

首先,将您的data更改为:

data: {
    'group_id': group_id,
    'group_student_ids[]': [1, 2, 3, 4]
}

并在您看来:

group_student_ids = request.POST.getlist('group_student_ids[]')

编辑:

在我的应用中做了一些测试;如果我打印request.POST,我就会

<QueryDict: {'group_student_ids[]': ['1', '2', '3', '4']}>

type(group_student_ids)会给<class 'list'>

答案 1 :(得分:0)

试试这个:

group_student_ids = request.POST.getlist('group_student_ids[]')