python DRF获取参数介绍
DRF获取参数的方式 例如url
url(r'^demo/(?P<word>.*)/$', DemoView.as_view())
在类视图中获取参数
url:http://127.0.0.1:8000/demo/aaa/?bbb=bbb&ccc=ccc&ccc=CCC
form:{"body":"body"}
JSON:{"body":"body"}
class DemoView(APIView): def post(self, request, aaa):
aaa = aaa # 获取url路径中的参数
bbb_str = request.query_params.get('bbb') # 获取一个查询字符串的参数
ccc_list = request.query_params.getlist('ccc') # 获取多个查询字符串参数
# 请求体中的参数
# 如果通过form表单传递,获取出来是QueryDict,通过.dict()转换成python的字典
form_body = request.data
# 如果通过JSON传递,获取出来就是字典,例如{'body':'body'}
# json_body = request.data
print(aaa)
print(bbb_str)
print(ccc_list)
print(form_body.dict())
# print(json_body)
return Response({'message': 'OK'})
结果
aaa
bbb
['ccc', 'CCC']
{'body': 'body'}
URL路径参数/查询字符串不区分请求方式,GET/POST/PUT等都一样
serializer中获取参数
# view
class DemoView(GenericAPIView):
serializer_class = DemoSerializer def post(self, request, aaa):
serializer = self.get_serializer(data=request.query_params)
serializer.is_valid(raise_exception=True)
return Response({'message': 'OK'}) # serializer
class DemoSerializer(serializers.Serializer):
bbb = serializers.CharField()
ccc = serializers.ListField() # List def validate(self, attrs):
aaa = self.context['view'].kwargs.get('aaa') # 获取路径参数
bbb = attrs['bbb'] # 获取查询字符串
ccc = attrs['ccc'] # 获取以多个key相同的查询字符串
# 获取当前登陆的对象,需要根据场景进行使用
# user = self.context['request'].user
print(aaa)
print(bbb)
print(ccc)
return attrs
python DRF获取参数介绍的更多相关文章
- python print的参数介绍
参考print的官方文档 print(...) print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False) Prints th ...
- DRF框架获取参数的方式
DRF获取参数的方式 例如url url(r'^demo/(?P<word>.*)/$', DemoView.as_view()) 在类视图中获取参数 url:http://127.0.0 ...
- python 函数参数介绍
python 函数参数介绍 python 使用过程总,总会遇到 *args,**kw形式的参数,总是一头雾水,而且网上介绍的或是叫法不一,为此专门深入实践进而了解了函数参数的使用 具体请看代码 #-* ...
- python命令行获取参数
python命令行获取参数 import sys # python获取参数 input_file = sys.argv[1] output_file = sys.argv[2] print(input ...
- SQLMAP参数介绍
转自:http://zhan.renren.com/bugpower?gid=3602888498044629629&checked=true SQLMAP参数介绍 sqlmap的使用方式:p ...
- Python中获取异常(Exception)信息
异常信息的获取对于程序的调试非常重要,可以有助于快速定位有错误程序语句的位置.下面介绍几种python中获取异常信息的方法,这里获取异常(Exception)信息采用try...except...程序 ...
- Linux下查看某个进程打开的文件数-losf工具常用参数介绍
Linux下查看某个进程打开的文件数-losf工具常用参数介绍 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 在linux操作系统中,一切皆文件.通过文件不仅仅可以访问常规数据,还 ...
- Python 基于python操纵redis入门介绍
基于python操纵redis入门介绍 by:授客 QQ:1033553122 测试环境 redis-3.0.7 CentOS 6.5-x86_64 python 3.3.2 基于Python操作R ...
- spark优化系列一:参数介绍
1 spark on yarn常用属性介绍 属性名 默认值 属性说明 spark.yarn.am.memory 512m 在客户端模式(client mode)下,yarn应用master使用的内存数 ...
随机推荐
- Huffman Coding
哈夫曼树 霍夫曼编码是一种无前缀编码.解码时不会混淆.其主要应用在数据压缩,加密解密等场合. 1. 由给定结点构造哈夫曼树 (1)先从小到大排序(nlogn) (2)先用最小的两个点构造一个节点,父节 ...
- shiro中记住我功能
Shiro提供了记住我(RememberMe)的功能,比如访问如淘宝等一些网站时,关闭了浏览器下次再打开时还是能记住你是谁,下次访问时无需再登录即可访问,基本流程如下: 1.首先在登录页面选中Reme ...
- vivado第一天从建立文件运行小程序开始
今天,是第一天什么也处于懵懂的时候,首要的任务就是建立一个文件 首先打开vivado运行软件, 如图所示,选择第一个create new project 来新建文件 选择存储路径,一路向下 当选择芯片 ...
- kohana导入和导出
一.导入 ini_set('memory_limit', '512M'); require_once(Kohana::find_file('vendor', 'PHPExcel/PHPExcel/IO ...
- 月日加四位尾数编号生成 VB方式
<%Private Sub Form_Click()MsgBox "生成两位后缀"ClsFor i = 1 To 99barcod= Format(Right(Year(Da ...
- IntelliJ IDEA下载及安装,破解
IntelliJ IDEA下载及安装,破解 百度百科:IDEA 全称IntelliJ IDEA,是java语言开发的集成环境,IntelliJ在业界被公认为最好的java开发工具之一,尤其在智能代码助 ...
- Java压缩文件
压缩文件 package com.iss.cpf.windmanger.userprivilegeexport.bizlogic; import java.io.BufferedInputStream ...
- alpine linux docker 安装 lxml出错的解决办法。
我习惯在docker当中用alpine来部署服务. 最近在部署flask时使用了 tiangolo/uwsgi-nginx-flask:python3.6-alpine3.7 这个镜像 别人写好的fl ...
- 软件设计基础-C/S系统
在软件设计开发过程中,逐渐形成了一些针对特定应用领域的软件系统组织方式的惯用模式 如经典的C/S(client/server,客户/服务器)模式和B/S(browser/server,浏览器/服务器) ...
- Android : iperf-2.0.4 网络测试工具
一.源码下载及交叉编译: 下载:https://pan.baidu.com/s/1i6NYDF3 //包含linux和windows上的可执行文件 1. 解压后获得perf-2.0.4源码.2. ...