form校验参数2

request.GET只能取到url里传的数据,?后的XXX=XX,request.POST可以取到postman中body里k-v的数据,只能是post请求的时候取到,其他的请求方式通过request.POST拿不到请求数据,只能通过request.parse_file_upload方法实现,里面传两个参数(request.META, request),可以通过print(dir(request)),看到好多方法,包括parse_file_upload和content_type
先把views_new.py文件里的CaseSet类中的修改方法写一下,前提是导入from django.http import JsonResponse, HttpResponse新增代码如下图:

在postman里可以用form-data的请求方式,但是可能会上传文件,也可以用x-www-form-urlencoded这种方式请求,这种方式不会上传文件,现在用第一种方式请求,如下图:

在pycharm的日志里print(request.META),打印请求的头信息,如下图:

把代码改一下,改成print(request.body),打印请求的正文信息,在用postman请求一下,在pycharm的日志里看到如下图:

传了id和name,从上图中可以看到中间的分隔符是\r\n...

接下来用x-www-form-urlencoded这种方式请求,如下图:

在pycharm的日志里print(request.META)打印请求的头信息,如下图:

把代码改一下,改成print(request.body),在用postman请求一下,在pycharm的日志里看到如下图:

传了id和name,从上图中可以看到中间的分隔符是&,为了解决这两种问题,要使用如下的代码:

猜你喜欢

转载自www.cnblogs.com/laosun0204/p/12299560.html
今日推荐