首页 > 其他分享 >drf自动生产路由

drf自动生产路由

时间:2023-05-22 21:14:12浏览次数:42  
标签:127.0 lyx send 自动生产 router import 路由 drf

自动生产路由

# ReadOnlyModelViewSet:两个接口,list和retrieve
from rest_framework.viewsets import ReadOnlyModelViewSet


class BookLIstretrieveView(ReadOnlyModelViewSet):
    queryset = Book.objects.all()
    serializer_class = Bookserializers


# ViewSetMixin:魔法,不能单独使用,必须配合视图类用,路由写法变了
from rest_framework.viewsets import ViewSet
from rest_framework.decorators import action


class BookViewSet(ViewSet):  # ViewSetMixin, views.APIView
    queryset = Book.objects.all()
    serializer_class = Bookserializers
    ''''
    - 1 写在视图类方法上
        class SendView(ViewSet):
            # methods指定请求方法,可以传多个
            # detail:只能传True和False
                -False,不带id的路径:send/send_sms/
                -True,带id的路径:send/2/send_sms/
            #url_path:生成send后路径的名字,默认以方法名命名 
            # url_name:别名,反向解析使用,了解即可
            @action(methods=['POST'], detail=False)
            def send_sms(self, request):
    '''

    # @action(methods=['get'], detail=False)  # http://127.0.0.1:8000/lyx/lyx/
    @action(methods=['get'], detail=True)  # http://127.0.0.1:8000/lyx/lyx/
    def lyx(self, request, *args, **kwargs):  # http://127.0.0.1:8000/lyx/1/lyx/
        print(kwargs.get('pk'))
        return Response("你好")

from django.urls import path, include
from index.views import *
from rest_framework import routers

'''
SimpleRouter
DefaultRouter===>多生产一个跟路由
'''
router = routers.SimpleRouter()  # 创建一个 SimpleRouter 实例
router.register("book", BookLIstretrieveView)  # 注册视图集
router.register("lyx", BookViewSet)  # 注册视图集
'''
        prefix 该视图集的路由前缀
        viewset 视图集
        base_name 路由别名的前缀
'''  
urlpatterns = [
添加路由
    # 方式2
    path("", include(router.urls))
]
# 添加路由
# 方式一
# urlpatterns += router.urls
# http://127.0.0.1:8000/book/
# http://127.0.0.1:8000/book/<int:pk>/

标签:127.0,lyx,send,自动生产,router,import,路由,drf
From: https://www.cnblogs.com/liyuanxiangls/p/17421720.html

相关文章

  • 5个视图扩展类,9个视图子类,视图集,drf之路由
    5个视图扩展类:1from.modelsimportBook2from.serializerimportBookSerialzier3fromrest_framework.responseimportResponse4fromrest_framework.genericsimportGenericAPIView56fromrest_framework.mixinsimportListModelMixin,CreateModelMixi......
  • 2个视图基类,5个视图扩展类,9个视图子类,视图集,自动生成路由
    考p.name改变的是p对象自己的属性所以p.name='彭于晏'p1.name=lqz15个视图扩展类#写5个类(不叫视图类,视图扩展类,需要配合GenericAPIView一起用),每个类有一个方法,以后想写哪个接口,就继承哪个类即可from.modelsimportBookfrom.serializerimportBookSerialzierf......
  • Flask路由
    Flask路由1.指定路由地址#指定访问路径为[email protected]('/hello')defdemo1():return'helloworld'2.给路由传参#路由传递参数@app.route('/user/<user_id>')defuser_info(user_id):return'hello%s'%user_id#路由传递的参数默认......
  • odoo后台调用路由接口
    fromodoo.exceptionsimportUserErrorimportrequestsfromodoo.httpimportrequestdefaction_commit_approval(self,action_type='commit_approval'):"""action_type:commit_approval/cancel_approval......
  • 可路由计算引擎实现前置数据库
    很多大机构都会有个中央数据仓库负责向应用提供数据服务。随着业务的发展,中央数据仓库的负载在持续增加。一方面,数仓是前端应用的数据后台,而前端应用不断增多,用户访问的并发数也不断增长。另一方面,数仓还要承担原始数据的批量离线处理,而批量任务不断增加,其数据量和计算量也在不断增......
  • drf-请求与响应
    目录1模块与包的使用2断言3drf之请求3.1Request类对象的分析3.1.1Request3.1.2属性3.2请求,能够接受的编码格式4drf之响应4.1响应类的对象Response4.1.1Response4.1.2属性4.2响应的格式4.3状态码5视图之两个视图基类5.1使用APIView+序列化类+Response写接口5.2推导......
  • drf之APIView+序列化类+Response
    昨日回顾#0ser=BookSerialzier(instance=qs,many=True)---->ListSerializer[序列化对象,序列化对象]ser=BookSerialzier(instance=book)---->BookSerialzier#1定制序列化的字段之source,字段参数 -指定一个要序列化的对象中得字段-指定一个要序列化的对象中得方法,方......
  • 小米路由R3g刷机文件
    1.进入路由器后台刷入开发版(miwifi_r3g_firmware_12f97_2.25.124.bin)。192.168.31.12.使用U盘(FAT/FAT32格式)刷入ssh工具包(miwifi_ssh.bin)。3.刷入Breed(breed-mt7621-xiaomi-r3g.bin),可改个简单的名称(breed.bin)4.进入192.168.1.1配置breed(需要用网线连接电脑)在小米R3G设置中,......
  • 路由问答
    来自你的消息:添加路由是不是有两种方式,一种指定网卡,一种指定ip来自ChatAI的消息:添加路由确实有两种方式。一种是使用网卡作为路由的出口,这种方式称为“接口路由”(interfaceroute)。另一种是使用特定的IP地址作为路由的出口,这种方式称为“策略路由”(policyroute)或“下一跳......
  • OSPF--外部路由
    企业不仅需要内部通信,还需要和外部连在一起。那如果你内部使用的是ospf,外部路由使用的rip那么怎能链接在一起实现通信呢?下面我们一起来实现它。在R4上面座个静态路由指向5.5,那么会出现什么情况?外部路由的引入过程:1.在R4中输入import-routerstatic后,将路由表中的static路由引入到......