restframwork组件的使用

Posted wen-kang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了restframwork组件的使用相关的知识,希望对你有一定的参考价值。

替换掉之前使用url链接直接对应视图函数的方式,取代之前render 或者redirect渲染页面返回数据的方式,直接返回json字符数据,通过get,post,put,delete 等请求协议来实现数据传递,要查看传递的数据可以通过postman插件来浏览。

url代码块:

1 url(r^publish/$,views.PublishDeteal.as_view({"get":"list","post":"create"}),name="pub"),
2 url(r^publish/(?P<pk>d+)/$,views.PublishDeteal.as_view({"get":"retrieve","put":"update","delete":"destroy"}),name="public"),

链接通过传入指定的协议参数,让其找对应方法去执行相应视图,若是带参数的url则必须指定其pk值

views视图代码块:

1 from rest_framework import viewsets
2 
3 class PublishDeteal(viewsets.ModelViewSet):
4     queryset = Publish.objects.all()
5     serializer_class = PublishShowSerializers

此时的视图类继承的父类改为 viewset.ModelViewSet,

它必须为父类提供的配置属性是queryset:从model数据库里查询出来的queryset对象

和serializer_class:序列化类 按照序列化类下的配置对queryset里面的数据进行序列化配置

自定义的序列化类代码块:

1 class PublishShowSerializers(serializers.ModelSerializer):
2     class Meta:
3         model=Publish
4         fields="__all__"

如果它默认的显示方法得不到期望值,可以重写父类下的方法 如:list create retrieve update  delete

不带参数:

  get: list 查询所有对象

  post:create 添加数据记录

带参数:

  get:retrieve 查询指定对象数据

  put:update 更新指定对象数据

  delete:destroy删除指定对象数据

 

以上是关于restframwork组件的使用的主要内容,如果未能解决你的问题,请参考以下文章

Django restframwork实现自定义数据格式的分页与搜索

VsCode 代码片段-提升研发效率

微信小程序代码片段

vue中的组件

使用Android导航组件时如何从后台获取片段?

使用导航组件将返回箭头添加到片段