05,解析器

什么叫做解析器?

       在原生Django通过form表单发送请求的时候,只有当我们的contentType = url/encoding且符合url/encoding的编码规范的时候 , 才能通过request.POST..get["username"]  取到提交的表单数据。
当发送contentType=JSON/application-json的时候只能从 request.BODY中取值,也就是说Django 的原生request只能支持这两种发送数据的方式。
       所以什么叫做解析器,就是前端传递过来的(字符串形式的)数据,后端可以将其解析成为字典,直接通过request里面的方法来使用
客户端传递的数据服务端可以解析,怎么解析的?    
源码入口
from rest_framework import parsers
 
 
所以代码该这样来写局部视图
class PublishesViewSet(viewsets.ModelViewSet):
    queryset = Publish.objects.all()
    serializer_class = PublishModelSerializer
    parser_classes = [JSONParser, ]            # 限制只有JSON格式的请求数据才能通过
 
 

则:

 

全局配置
    "DEFAULT_PARSER_CLASSES":['rest_framework.parsers.FormParser',]
 

 
原文地址:https://www.cnblogs.com/pontoon/p/10217429.html