python DRF获取参数介绍,pythondrf获取参数,DRF获取参数的方式
python DRF获取参数介绍,pythondrf获取参数,DRF获取参数的方式
DRF获取参数的方式例如urlurl(r‘^demo/(?P<word>.*)/$‘, DemoView.as_view())在类视图中获取参数url:http://127.0.0.1:8000/demo/aaa/?bbb=bbb&ccc=ccc&ccc=CCCform:{"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‘})结果aaabbb[‘ccc‘, ‘CCC‘]{‘body‘: ‘body‘}URL路径参数/查询字符串不区分请求方式,GET/POST/PUT等都一样serializer中获取参数# viewclass 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‘})# serializerclass 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,random随机数的获取,pythonrandom随机数, 随机数
- python random 的用法,pythonrandom用法,python ran
- Python-NumPy,,网上查到的个人认为最
- python ConfigParser读取配置文件,及解决报错ConfigParser.M
- 【Python 数据分析】module ‘numpy‘ has no attribute ‘array‘
- 利用Python爬去囧网福利(多线程、urllib、request),python
- python操作mysql(pymysql + sqlalchemy),pymysqlsqlalchemy,pymys
- python3开发进阶-Django框架中form的校验方法is_valid()的源码
- python3内置的tkinter参数释疑,python3tkinter,最近涉及到需
- NBSVM的Python实现,NBSVMPython实现,NBSVM朴素贝叶斯
评论关闭