drf之渲染(代码片段)

fqh202 fqh202     2022-12-19     110

关键词:

实例

# 路由
from django.conf.urls import url, include
from app01.views import TestView

urlpatterns = [
    url(r'^test/$', TestView.as_view()),
    url(r'^test.(?P<format>[a-z0-9]+)', TestView.as_view()),
]


# 视图
from rest_framework.views import APIView
from rest_framework.response import Response
from rest_framework import serializers
from rest_framework.renderers import JSONRenderer,AdminRenderer,BrowsableAPIRenderer


class TestSerializer(serializers.ModelSerializer):
    class Meta:
        model = UserInfo
        fields = "__all__"


class TestView(APIView):
    renderer_classes = [JSONRenderer,BrowsableAPIRenderer,AdminRenderer]

    def get(self, request, *args, **kwargs):
        user_list = UserInfo.objects.all()
        ser = TestSerializer(instance=user_list, many=True)
        return Response(ser.data)

url与对应的渲染页面

1、http://127.0.0.1:8000/test.admin获取页面:

技术分享图片

2、http://127.0.0.1:8000/test/获取页面:
技术分享图片

3、http://127.0.0.1:8000/test.json或者http://127.0.0.1:8000/test/?format=json获取页面:
技术分享图片

drf版本认证权限限制解析器和渲染器(代码片段)

...NumberPagination3.2LimitOffsetPagination3.3CursorPagination六.解析器和渲染器七.对DRF中的request对象的相关总结1.查看源码2.总结八.版本,认证,权限,限制,分页--源码查看方法九.补充知识1.issubset()2.语法糖setter,getter,deleter3.ORM之update_or_create()4.asse... 查看详情

drf之jwt补充(代码片段)

DRF之JWT补充1.JWT控制用户登录后才能反问,匿名用户无法访问classQueryUserView(GenericViewSet,RetrieveModelMixin):"""查询接口"""queryset=User.objects.all()serializer_class=UserSerializerpk=None#thrott 查看详情

drf之序列化(代码片段)

目录准备事项序列化组件初见序列化字段ModelSerializer重载create方法单条数据处理现阶段代码准备事项#models.pyfromdjango.dbimportmodelsclassPublisher(models.Model):title=models.CharField(max_length=32)address=models.CharField(max_length=128)d 查看详情

drf之过滤器详解(代码片段)

drf之过滤详解其实也没有多详,只是觉得这个功能可能很好用,就稍微学细一些,继续学习之后可能会被其他更好用的知识替代吧文章部分来自https://zhuanlan.zhihu.com/p/110060840类似在视图中操作模型的filter,不过drf提供了过滤组件... 查看详情

drf框架之serializers序列化组件(代码片段)

1.什么是序列化,其实在python中我们就学了序列化工具json工具,就是吧信息存为类字典形式2.DRF框架自带序列化的工具:serializers 3.DRF框架serializers分为:第一种Serializer 第二种ModelSerializer 第一种用法之Serializerfromdjango.dbimport... 查看详情

drf框架serializer之视图优化(代码片段)

...们通过创建序列化器对象的方式大大地简化了视图函数的代码,前端传入的数据通过反序列化操作进行了各种数据校验,代码如下:fromdjango.httpimportJsonResponsefromdjango.viewsimportViewfromdjango.dbimportconnectionimportjsonfrom.modelsimport 查看详情

drf框架之mixins(代码片段)

...work.mixinsimportListModelMixin2.源码对比我们可以发现,两处的代码基本一致,因此我们直接拿到使用来优化本地代码3.使用方法a.视图类继承ListModelMixinb.g 查看详情

drf之路由系统与视图(代码片段)

手动路由编写#路由fromdjango.conf.urlsimporturlfromapp01.viewsimportUserListViewurlpatterns=[#GET请求查询所有#POST请求增加url(r'^users/$',UserListView.as_view()),url(r'^users.(?P<format>w+)/$',Us 查看详情

drf之请求与相应(代码片段)

一、请求对象  1、重新封装了原request。  2、request._request:原request对象。  3、request.data:前端post过来的三种编码格式的数据,都可以从中取出。  4、request.query_params:url携带的参数,相当于原来的request.GET。  5、re... 查看详情

drf之限制单位时间访问次数(代码片段)

1、节流源码流程:#step1defdispatch(self,request,*args,**kwargs):try:self.initial(request,*args,**kwargs)#step2definitial(self,request,*args,**kwargs):self.perform_authentication(request)#先认证self.check_permiss 查看详情

drf序列化器之请求响应以及视图(代码片段)

1.http请求处理drf除了在数据序列化部分简写代码以外,还在视图中提供了简写操作。所以在django原有的django.views.View类基础上,drf封装了多个视图子类出来提供给我们使用。DjangoRESTframwork提供的视图的主要作用:控制序列化器的... 查看详情

drf项目之自定义分页器(代码片段)

在项目中,我们多需要自定义分页器。代码实现fromrest_framework.paginationimportPageNumberPaginationfromrest_framework.responseimportResponseclassPageNum(PageNumberPagination):page_size=5#后端指定每页显示数量page_size_query_param=‘pag 查看详情

drf之jwt傻瓜式启动说明书(代码片段)

DRF之jwt使用说明书jwt介绍JsonWebToken如何获取token先创建一张用户表,要想使用jwt,必须使用django自带的用户表在models.py中写一个用户类,导入、继承AbstractUser在Terminal中做数据库迁移,createsuperuser创建超级用户在路由中导入jwt的... 查看详情

drf之视图组件(代码片段)

不断的优化我们写的程序,是每个程序员必备的技能和职业素养,也是帮助我们成长的非常重要的手段。相关知识点相关知识点一:RESTfulapi接口规范我给大家总结的REST的最重要的一句话,那就是:url用来唯一定位资源,http请求... 查看详情

drf框架之基础配置(代码片段)

...定2、vue是渐进式js框架3、vue指令v-text|html=>限制一次性渲染v-oncev-if|showv-ifv-else-ifv-elsev-forv-modelv-bind[c1,c2]|active:isActivev-onfn|fn(...)|fn($event,...)data中出现的变量v-if="data中出现的变量的条件表达式"4、vue实例成员el|templatecomponentsdata|da... 查看详情

drf之解析器组件及序列化组件(代码片段)

  通过上一篇博客的学习,我们已经有了一个共识,Django无法处理application/json协议请求的数据,即,如果用户通过application/json协议发送请求数据到达Django服务器,我们通过request.POST获取到的是一个空对象。  DjangoRestFramework... 查看详情

drf之序列化组件(代码片段)

1一序列化器-Serializer作用:1.序列化,序列化器会把模型对象转换成字典,经过response以后变成json字符串2.反序列化,把客户端发送过来的数据,经过request以后变成字典,序列化器可以把字典转成模型3.反序列化,完成数据校验功能1.1定... 查看详情

drf框架serializer之modelserializer(代码片段)

...段,如果添加的字段特别多,那么势必会影响开发效率和代码的可读性,因此会选择一种更为简洁的序列化器类来帮我们优化框架代码,简化序列化器类中字段的创建常规序列化器类示例:fromrest_frameworkimportserializersfromrest_framewo... 查看详情