Django中使用POST方法获取POST数据
Posted zhzhang
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Django中使用POST方法获取POST数据相关的知识,希望对你有一定的参考价值。
1.获取POST中表单键值数据
如果要在django的POST方法中获取表单数据,则在客户端使用javascript发送POST数据前,定义post请求头中的请求数据类型:
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
在django的views.py相关方法中,需要通过request.POST获取表单的键值数据,并且可以通过reques.body获取整个表单数据的字符串内容
if requests.method == ‘POST‘: print("the POST method") postAll = requests.POST postBody = requests.body print(postAll) postBodyStr = postBody.decode(‘utf-8‘) print(postBodyStr)
相关结果
the POST method <QueryDict: {‘b‘: [‘2‘], ‘a‘: [‘1‘]}> a=1&b=2
2.获取POST中json格式的数据
如果要在django的POST方法中获取json格式的数据,则需要在post请求头中设置请求数据类型:
xmlhttp.setRequestHeader("Content-type","application/json");
在django的views.py中导入python的json模块(import json),然后在方法中使用request.body获取json字符串形式的内容,使用json.loads()加载数据。
if requests.method == ‘POST‘: print("the POST method") postAll = requests.POST postBody = requests.body print(postAll) postBodyStr = postBody.decode(‘utf-8‘) json_result = json.loads(postBodyStr) print(json_result) print(‘-‘*100) print(json_result.get("name"))
相关结果:
the POST method <QueryDict: {}> {‘name‘: ‘baoshan‘} ---------------------------------------------------------------------------------------------------- baoshan
【参考】:http://www.cnblogs.com/zhangdewang/p/9222952.html
以上是关于Django中使用POST方法获取POST数据的主要内容,如果未能解决你的问题,请参考以下文章
在获取 POST 数据 django 中获取 MultiValueDictError