使用休息控制台 django 从发布请求中没有得到正确的 json [重复]

Posted

技术标签:

【中文标题】使用休息控制台 django 从发布请求中没有得到正确的 json [重复]【英文标题】:doesn't get correct json from post request using rest console django [duplicate] 【发布时间】:2015-12-10 12:01:52 【问题描述】:

当我要从谷歌浏览器的高级休息控制台 POST 请求中获取 json 时,我将整个数据作为键和空字符串作为值

我的 json 是:


    "school_id" : "1",
    "registration_no" : "",
    "first_name" : "Anmol",
    "middle_name" : "987686853",
    "last_name" : "",
    "student_category_id" : "null",
    "date_of_birth" : "1991-01-01",
    "gender" : "MALE",
    "street_address" : "",
    "student_city" : "",
    "student_state" : "",
    "student_country" : "",
    "pin_code" : "",
    "religion" : "",
    "nationality" : "",
    "phone_number" : "",
    "mobile_number" : "987686853",
    "email" : "ab@cd.ef",
    "previous_institution_name" : "BFCET",
    "board" : "g",
    "latest_course" : "grapes",
    "passing_year" : "675",
    "percentage_marks" : "56",
    "course" : "1",
    "batch" : "2",
    "image" : "null",
    "is_active" :" true"

为了获取这个 json,我使用了我的 views.py 文件中的代码:

def create(self, request):

        data=request.POST
        print data
        print "school_id",data.get('school_id')

但是这样我得到了 MultiValueDictKeyError 错误:

我正在使用 django restframework,python。

【问题讨论】:

您是否打印了数据。里面有什么? 【参考方案1】:

import jsondata=json.loads(request.body) 而不是data=request.POST

您的数据将在request.body 中。我假设这不是表单提交 Ajax 调用。

【讨论】:

以上是关于使用休息控制台 django 从发布请求中没有得到正确的 json [重复]的主要内容,如果未能解决你的问题,请参考以下文章

为啥开发控制台停止我的请求显示 CORS 错误而其他休息工具没有

在Django视图函数中无法检索AJAX请求数据值。

Django rest 框架和跨源请求

ExtJs (6.0.0) 休息服务 PUT 请求

从 django 模板到完全休息?

从 Django 获取自定义休息数据