当前位置: 移动技术网 > IT编程>脚本编程>Python > django-drf框架自带的路由以及最简化的视图

django-drf框架自带的路由以及最简化的视图

2019年09月10日  | 移动技术网IT编程  | 我要评论

百老汇电影院,寻美入怀,品牌服饰折扣店

0910自我总结

django-drf框架自带的路由以及最简化的视图

路由

一.导入模块

from rest_framework.routers import simplerouter

二.初始化路由对象

router = simplerouter()

三.创建路由

router = simplerouter()
# 注册各种接口路由
router.register('cars', views.carmodelviewset, base_name='car')
#car为链接的开头,views.carmodelviewset为当路由为cars的时候的调用的函数
urlpatterns = []
urlpatterns.extend(router.urls)

其效果等同于

urlpatterns = [
    url(r'^cars/$', views.carmodelviewset.as_view()),
    url(r'^cars/(?p<pk>.*)/$', views.carmodelviewset.as_view()),
]

视图

一.导入模块

from rest_framework.viewsets import modelviewset

二.创建视图逻辑

modelviewset源码

class modelviewset(mixins.createmodelmixin,
                   mixins.retrievemodelmixin,
                   mixins.updatemodelmixin,
                   mixins.destroymodelmixin,
                   mixins.listmodelmixin,
                   genericviewset):
    #所有他当中以及对于get等等的方法自动进行了封装
mixins是在generics再进行方法的分装成5个方法
retrievemodelmixin:retrieve 单取
listmodelmixin:list 群取
createmodelmixin:create 单增
updatemodelmixin:update 单整体改
updatemodelmixin: partial_update 单局部改
destroymodelmixin:destroy 单删
class carmodelviewset(modelviewset):
    queryset = models.car.objects.filter(is_delete=false) 
    serializer_class = serializers.carmodelserializer
    ........
    #queryset serializer_class 必须给与
    ...
    def get(self):
        他会调用retrieve或者list方法其他也类似
        .....

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网