django-自定义转换器-实操案例

目标

理解以下内容:

  • 转换器的关系字典
  • 注册自定义的转换器
  • 转换器的捕捉验证返回流程
  • 域名反解时转换器的处理流程

需求

在这里插入图片描述

实现捕捉分类的功能

路由,重点在正则

在这里插入图片描述

视图

在这里插入图片描述

捕捉效果

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

了解转换器的原理

转换器的核心就是正则表害式

一,路径中捉到的内容会交给转换器

在这里插入图片描述

如果没有写转换器
默认用的是str转换器

二,转换器类的处理

1,先验证一下捕捉的内容是不是可以匹配成功
如果不成功,就会报错

2,被捕捉的内容,会经过to_python方法处理
然后返回给视图函数的形参

在这里插入图片描述

在这里插入图片描述

3,如果是通过reverse进行反转
例如
reverse(别名, kwargs={key,val})

这个val会被别名所对应的路径中的转换器得到
在这里插入图片描述
然后会被 to_url 得到这个参数
在这里插入图片描述
to_url方法处理后的结果,会回填到路径里

看图理解转换器流程

图一,路径捕捉参数,传递给视图中
在这里插入图片描述

图二,别名反转

在这里插入图片描述

转换器模块中有内容

在这里插入图片描述

DEFAULT_CONVERTERS

转换器关系字典

这是一个字典
键,转换器拘字
值,转换器的处理类对象

register_converter

注册新转换器

如果自定义了转换器
可以通过这个方法把新转换器添加进去

自定义转换器开始

目标

在这里插入图片描述

步骤:

一,写一个转换器的类

在这里插入图片描述

二,注册这个转换器

在这里插入图片描述

三,使用这个转换器

在这里插入图片描述

四,看效果

路径上写了科目
通过转换器来捉
并且返回为字典的形态(to_python方法的处理结果)

在这里插入图片描述

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鲸鱼编程pyhui

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值