django 获取post传递的json数据

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了django 获取post传递的json数据相关的知识,希望对你有一定的参考价值。

request.POST.get('ID','')获取post传递过来的ID,但是没有取到ID值,打印了传递的数据,如下所示,为什么取不到呢

因为客户端传递过来的数据是json数据,可以看成一个json对象。不是传过来的post表单,所以你用request.POST.get('ID', '')这种肯定取不到值的。

def datasave(request):
    dict = 
    info = 'Data log save success'
    try:
        if request.method == 'POST':
            req = simplejson.loads(request.raw_post_data)
            username = req['username']
            password = req['password']
            datas = req['datas']
            game_id1 = datas[0]['game_id']
   except:
        import sys
        info = "%s || %s" % (sys.exc_info()[0], sys.exc_info()[1])

    dict['message']=info
    dict['create_at']=str(ctime())
    json=simplejson.dumps(dict)
    return HttpResponse(json)

    request.raw_post_data表示的是从客户端发送过来的原始数据,为了纯字符串, 通过simplejson的loads方法将其转换为字典数据类型req.
    上面的代码也演示了如何以JSON格式作为响应值, 而非html, 即通过simplejson的dumps方法, 将字典数据dict序列化为字符串形式,将通过HttpResponse返回.

参考技术A

我的解决了:

request.POST.get('ID','') 获取不到数据, 用了如下语句就获取到了

request.data.get('ID', '')

以上是关于django 获取post传递的json数据的主要内容,如果未能解决你的问题,请参考以下文章

Django 无法通过request.POST.get()获取数据的问题

PHP使用POST传递json数据的接收与处理问题

php用curl的post方法传递json包的时候,接受方是怎么获取的呢

FineUI MVC 前端获取表格Json通过Post传递后台

如何使用 Django 从 POST 表单中获取 JSON 响应

使用django时如何在ajax调用中传递request.user?