导读:本篇文章首席CTO笔记来给大家介绍有关django中如何获取post中的数据的相关内容,希望对大家有所帮助,一起来看看吧。
怎么用django获取post提交的xml数据?
request.raw_data 这个是获取 post提交的原始数据
然后使用 python自带的xml处理一下就可以
django 获取 POST 请求值的几种方法
1、django获取post过来的多个键值对:
Ajax:
var languages = {};
languages['english'] = ['mark', 'james'];
languages['spanish'] = ['amy', 'john'];
$.ajax({
type: 'POST',
url: '/save/',
data: languages,
dataType: 'json'
});
Django Views.py
if request.is_ajax() and request.method == 'POST':
for key in request.POST:
print key
valuelist = request.POST.getlist(key)
print valuelist
---------------------
fiddle:
name=june; age=26;
---------------------
views.py
16 for key in request.POST: 17 print key 18 valuelist = request.POST.getlist(key) 19 print valuelist
age [u'26'] [04/Apr/2012 10:58:11] "POST /getuin/ HTTP/1.1" 200 20
2、一次加载所有值:
def view_example(request):
data=simplejson.loads(request.raw_post_data)
Django接收并解析post/get请求参数
背景:Django开发api接口,接收前端传来的参数值并解析
POST请求
前端传输JSON格式,'Content-Type', 'application/json'
后端接收解析
GET请求
前端传输JSON格式,'Content-Type', 'application/json'
后端接收解析
django 获取post传递的json数据
因为客户端传递过来的数据是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返回.
Django 无法通过request.POST.get()获取数据的问题
原来是contentType为application/json时,Django不支持request.POST.get(),但可以通过request.body来获取string类型的参数:
注意:这里的json.loads(request.body)可能会因为python版本的原因会报错,详细看
举个栗子:
注册页面,前端的ajax请求:
后端:
结语:以上就是首席CTO笔记为大家整理的关于django中如何获取post中的数据的相关内容解答汇总了,希望对您有所帮助!如果解决了您的问题欢迎分享给更多关注此问题的朋友喔~