首页>>后端>>Python->django中如何获取post中的数据(2023年最新整理)

django中如何获取post中的数据(2023年最新整理)

时间:2023-12-07 本站 点击:0

导读:本篇文章首席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中的数据的相关内容解答汇总了,希望对您有所帮助!如果解决了您的问题欢迎分享给更多关注此问题的朋友喔~


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:/Python/18519.html