Flask中提供的转换器

DEFAULT_CONVERTERS = {    'default':          UnicodeConverter,    'string':           UnicodeConverter,    'any':              AnyConverter,    'path':             PathConverter,    'int':              IntegerConverter,    'float':            FloatConverter,    'uuid':             UUIDConverter,
}

自定义转换器

如果遇到需要匹配提取 /sms_codes/18512345678 中的手机号数据,Flask内置的转换器就无法满足需求,此时需要自定义转换器。

定义方法

自定义转换器主要做3步

1. 创建转换器类,保存匹配时的正则表达式
我们自定义的转换器必须继承当前的BaseConverter父类

class MobileConverter(BaseConverter):'''定义一个匹配手机号码的正则表达式,regex名字不能改变'''regex = r'1[3-9]\d{9}'

2. 将自定义的转换器告知Flask应用

将自定义的转换器添加到转换器列表中
phone是转换器的名字
MobileConverter是转换器值

#static_url_path:相当于路由
app = Flask(__name__)   #初始化Flask项目的服务#将自定义的转换器添加到转换器列表中
app.url_map.converters['phone']=MobileConverter     #phone是转换器的名字

3. 在使用转换器的地方定义使用
转换器:phone

@app.route('/phone/<phone:mob_num>')
def phone_number(mob_num):return '当前的手机号码是{}'.format(mob_num)

【Flask】自定义转换器相关推荐

  1. Flask自定义转换器,实现路由匹配正则表达式参数

    Flask框架动态路由实现参数传递和Django框架有类似之处,但是相比于Django框架,Flask实现复杂的参数就需要自己自定义转换器来实现了,而不能向Django那样直接使用正则表达式 1 # ...

  2. java list 自定义类型转换_java – 可以从List生成平面XML结构的XStream自定义转换器?...

    我正在使用XStream,并且有一个类如下的字段: private Map data; 我想生成这样的XML输出: test data test data test data 所以我希望map键成为元 ...

  3. java converter转换器_springboot 自定义转换器(converter)

    springboot 自定义转换器(converter) 应用:实现一对一转换,如将字符串转换为pojo.枚举等 *********************** 相关类与接口 Converter @F ...

  4. java dozer_java – Dozer双向映射(String,String)与自定义转换器不可能?

    我有一个自定义转换器的推土机映射: com.xyz.Customer com.xyz.CustomerDAO customerName customerName 和转换器: public class ...

  5. java学习笔记——springmvc 之 数据自定义转换器 数据格式化 JSR303数据校验返回与接收JSON(@RequestBody 和 @ResponseBody)

    九.数据绑定流程分析 1.提出问题 日期字符串格式的表单参数,提交后转换为Date类型 <!--    解决问题: 1.数据类型转换 2.数据格式 3.数据校验 --> BirthDay ...

  6. easyexcel的动态表头和自定义转换器

    https://www.yuque.com/easyexcel/doc/easyexcel 依赖 <dependency><groupId>com.alibaba</gr ...

  7. Flask 自定义模型类

    自定义模型类 本篇章介绍Flask自定义模型类的概念,以及写一个快速入门的示例,基本内容如下: 定义两个模型类,并创建数据库表 创建数据,写入数据库 编写模板以及视图函数,在页面展示数据 定义模型 模 ...

  8. springMVC学习笔记(自定义转换器)

    springMVC 非常的灵活,它帮我们内置了转换器,比如我们从页面传到后台参数的都是String 类型的,但是我们可以这样接受: @PathVariable("Id") Inte ...

  9. fme创建自定义转换器

    创建自定义转换器 创建自定义转换器的最简单方法是从现有工作区创建,并选择经常重复使用的转换器或占用画布上大量空间的转换器. 可以借鉴B站视频:创建自定义转换器 操作流程 1.打开工作区. **2.选择 ...

最新文章

  1. Jetty源码学习3-启动服务器
  2. Spring MVC 如何加载静态html
  3. JS 创建对象的七种方式
  4. 没想到我的粉丝里还有这么多C++er,瑞思拜!
  5. 2016年5月26日晚上(妙味课堂js基础-2笔记二(DOM))
  6. C++友元函数、友元类与类模板
  7. jinja Template
  8. cf D. Dima and Hares
  9. 设为首页加入收藏代码_兼容各浏览器ie系列Firefox
  10. MQTT.fx工具测试mqtt
  11. 服务器桌面假死怎么处理,只需一分钟轻松搞定Win7桌面假死问题
  12. Torch not compiled with CUDA enabled报错的解决办法
  13. 大白话图解:什么是 CDN
  14. Java服务器与客户端传文件,java实现上传文件到服务器和客户端.pdf
  15. python计算机视觉--全景图像拼接
  16. 未来趋势:区块链溯源技术
  17. PN转CANopen调试案例
  18. 损失函数及对应的任务(待续)
  19. 01-【istio】-【服务网格概述】服务网格的优势
  20. Scala系列20:Scala中异常捕获与抛出异常

热门文章

  1. python打开中文文本utf-8用不了_关于Python文档读取UTF-8编码文件问题
  2. 科技推动时代发展,浅谈IT技术如何改善数据中心运维管理
  3. 如何看懂发电机功率圆图
  4. es6箭头函数_ES6语法之-箭头函数
  5. CV之CNN:基于tensorflow框架采用CNN(改进的AlexNet,训练/评估/推理)卷积神经网络算法实现猫狗图像分类识别
  6. 成功解决.ReadTimeoutError: HTTPSConnectionPool(host=‘pypi.tuna.tsinghua.edu.cn‘, port=443): Read timed o
  7. ML之XGBoost:XGBoost参数调优的优秀外文翻译—《XGBoost中的参数调优完整指南(带python中的代码)》(四)
  8. TF:基于CNN(2+1)实现MNIST手写数字图片识别准确率提高到99%
  9. 成功解决Ubuntu下的make: gcc: Command not found Makefile:85: recipe for target 'obj/gemm.o' failed make: **
  10. xshell xftp使用