zoukankan      html  css  js  c++  java
  • restframwork组件的使用

    要使用rest_framework组件首先得在settings里面配置中把它添加入app里 这样才可以通过浏览器去访问

    替换掉之前使用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删除指定对象数据

  • 相关阅读:
    2019安徽省程序设计竞赛 I.你的名字(序列自动机)
    poj3522Slim Span(暴力+Kruskal)
    Uva1349Optimal Bus Route Design(二分图最佳完美匹配)(最小值)
    基于Python的Web应用开发实战——3 Web表单
    [nRF51822]5.触摸按键
    [nRF51822]4.GPIO控制蜂鸣器
    [nRF51822]3. GPIO输入按键检测
    [nRF51822]2. 跑马灯
    [nRF51822]1. 点亮一个LED
    [nRF51822]0.nRF51822的开发环境
  • 原文地址:https://www.cnblogs.com/wen-kang/p/9928361.html
Copyright © 2011-2022 走看看