Django REST framework (七)viewset高级视图使用

  • A+
所属分类:Django REST framework



原创:www.pythonfans.cn

安装搭建环境:

安装以及项目搭建参考:Django REST framework (一)安装以及django项目创建

viewset高级视图使用:

1.新增view函数视图 :vim ly_ops/Idc/views.py

from .models import Idc
from .serializers import IdcSerializer

from rest_framework.viewsets import ModelViewSet
#ModelViewSet:读写,实现了mixins下面增删改查
#ReadOnlyModelViewSet:只读,只实现了只读
class idc6(ModelViewSet):
    queryset = Idc.objects.all()
    serializer_class = IdcSerializer

备注:

ModelViewSet:读写,实现了mixins下面增删改查

相当于 mixins.ListModelMixin,
mixins.RetrieveModelMixin,
mixins.UpdateModelMixin,
mixins.CreateModelMixin,
mixins.DestroyModelMixin

ReadOnlyModelViewSet:只读,只实现了只读

2.修改URL:vim ly_ops/ ly_ops/urls.py

from rest_framework.routers import DefaultRouter
from django.urls import include
route = DefaultRouter()
route.register('idc6',idc6) #注册一个url资源管理idc,调用视图是idc6
urlpatterns = [
    path('', include(route.urls)),  #引入api route页面,route.urls

]

备注:

通过引入rest_framework的routes来控制全局的路由

大大减少了我们写路由时间

启动django,进行测试

python manage.py runserver 8000

新增一条数据:post 127.0.0.1:8000/idc6/

查看所有的数据:get 127.0.0.1:8000/idc6/

查看单条数据: get 127.0.0.1:8000/idc6/1/ #1代表id是1的数据

修改单条数据: put 127.0.0.1:8000/idc6/1/ #1代表id是1的数据

删除一条数据: delete 127.0.0.1:8000/idc6/1/ #1代表id是1的数据

Django REST framework (七)viewset高级视图使用
Django REST framework (七)viewset高级视图使用
  • 我的微信
  • 这是我的微信扫一扫
  • weinxin
  • 我的微信公众号
  • 我的微信公众号扫一扫
  • weinxin

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: