首页 > 其他分享 >路由组件

路由组件

时间:2024-04-21 21:58:30浏览次数:26  
标签:password url token user 组件 include 路由

Routers

​ 对于视图集ViewSet,我们除了可以自己手动指明请求方式与动作action之间的对应关系,还可以使用Routers类来快速实现路由的创建

  • SimpleRouter(常用)
  • DefaultRouter(用的少)
# 方式一
# 1.导入Routers类
from rest_framework.routers import DefaultRouter

# 2.实例化对象
router = DefaultRouter()

# 3.将视图集注册到路由器中: 第一个参数是url前缀,第二个是视图类 ,第三个是别名
router.register('user', UserView, 'user')

# 4.将路由添加到路由列表中
urlpatterns += router.urls

# 方式二
# 前三步骤一样
# 1.导入include函数
from django.urls import include

# 2.在 Django 项目的 URL 配置中使用 include() 函数: 这样可以多一层路由
urlpatterns = [
    path('', include(router.urls))  # 将路由器生成的 URL 配置包含到根路径下
]

试图类中派生的方法,自动生成路由(action)

class Login(ViewSetMixin, APIView):
    authentication_classes = []
    permission_classes = []
    @action(methods=['POST'], detail=False)		# 自己扩展的方法(派生)
    def login(self, request, *args, **kwargs):	
        username = request.data.get('username')
        password = request.data.get('password')
        user_alive = models.User.objects.filter(username=username, password=password).first()
        if user_alive:
            token = uuid.uuid4()
            models.User_token.objects.update_or_create(defaults={'token':token}, user=user_alive)
            return Response({'code':100, 'msg':'登录成功', 'token':token}, headers={'token':token})
        else:
            return Response({'code':101, 'msg':'登录失败'})
        
# 这样自动生成的路由是(books/login/) (如果prefix参数传空字符串,则是/login/)

'''
参数解释:
	method:		用来指定请求方式,默认GET
	detail:		用来指定是否传入pk值(如:查所有或查单条),False:不传pk,True:传pk
	url_path:	用来指定url的路径,默认方法名
	url_name:	用来指定url的别名
'''

'''
注意:
	1 如果继承了APIView,那么想要自动创建路由,则必须写action动作并在urls.py中传basename参数来指定视图
	
	2 必须继承ViewSetMixin

标签:password,url,token,user,组件,include,路由
From: https://www.cnblogs.com/Hqqqq/p/18149567

相关文章

  • 第27天:安全开发-PHP应用&TP框架&路由访问&对象操作&内置过滤绕过&核心漏洞 - Shortcut
     https://www.kancloud.cn/manual/thinkphp5_1/354000ThinkPHP-Vuln-master ......
  • 在React中的函数组件和类组件——附带示例的对比
    在React中,创建组件有两种主要方式:函数组件和类组件。每种方式都有自己的语法和用例,尽管随着ReactHooks的引入,它们之间的差距已经显著缩小。但选择适当的组件类型对于构建高效和可维护的React应用程序仍然非常关键。在本文中,我们将探讨函数和类组件之间的基本区别,清楚地理解它们......
  • vue中ts引入组件,无法找到模块xxx的声明文件。xxx隐式拥有 "any" 类型。
    原因说明简单来说就是ts不认识.vue这个类型,需要定义声明。我刚学ts不是很懂为什么vite官方内写了那么多类型声明就是不写.vue。解决方法在项目根目录下找到env.d.ts文件,这个文件定义类型声明,简单地说就是让ts认识各种类型,尤其是文件。那么解决方法显而易见,我们自定义vue的......
  • Flask路由和蓝图
    Flask路由和蓝图目录Flask路由和蓝图路由定义查看路由信息url_map对象路径参数设置和获取add_url_rule的参数执行流程分析重定向蓝图概述基本使用内部静态文件内部模板目录参考资料路由定义在Flask中,路由用于将HTTP请求与特定的Python函数相匹配。通过定义路由,Flask应用程序可......
  • 鸿蒙HarmonyO实战-ArkUI动画(组件内转场动画)
    ......
  • 微信小程序video在组件中的使用---暂停视频
    首先在wxml文件中设置video的id<videoid='myVideo'src='{{video}}'controls='true'></video>然后在js文件中通过wx.createVideoContext获取VideoContext实例letvideoCtx=nullletapp=getApp()Component({properties:{},......
  • taro 基础组件 video的一些基本情况设置
    <videoclass="section-video-content"id="myVideo"src="http://192.168.10.15:9000/sisterofdc/exam/video/226/test.mp4"@timeupdate='getUpdateTime'></video>function......
  • vue 给不同组件数据添加千分位符且保留两位小数
    方法一:使用filter过滤器的方法给普通元素添加千分位符且保留两位小数<template><divclass="app-container">{{obj|modifyObject}}{{obj1|modifyObject}}</div></template><script>exportdefault{components:{},data()......
  • 【云原生|K8s系列第1篇】:K8s的基础概念、组件架构及实战安装
    1、先从K8s不是什么讲起首先,K8s并不是一个传统意义上的PaaS平台即服务的工具,它充分给使用者提供了很多很多选择的空间。不限制支持的应用程序类型,K8s并不插手应用程序框架,也不限制支持的语言(如Java,Python,Ruby等),只要应用符合12因素即可。也就是说,只需要应用可以在......
  • JMeter组件的执行顺序和作用域
    组件介绍测试计划:jmeter的起点和容器线程组:代表一定的虚拟用户取样器:发送请求的最小单元逻辑控制器:控制组件的执行顺序前置处理器:在请求之前的操作后置处理器:在请求之后的操作断言:判断请求是否符合预期定时器:是否延迟或间隔发送请求配置元件:请求期的配置信息监听器:负责......