Flask路由中使用正则表达式匹配
2024-08-23 12:03:15
1.说明
由于flask并不支持直接使用正则表达式来匹配路由,我们可以使用werkzeug.routing的BaseConverter来实现
2.代码
from flask import Flask
#而在某些特定的需求下,需要动态匹配一些有特殊要求的字符,这就可以考虑用正则表达式的方式传入
from werkzeug.routing import BaseConverter #编写正则转化的类
class RegexConverter(BaseConverter):
def __init__(self, url_map,*items):
super(RegexConverter,self).__init__(url_map)
self.regex = items[0] app = Flask(__name__)
#初始化转换器
app.url_map.converters['reg'] = RegexConverter @app.route('/user/<reg("[a-z]{3}-\d{5,6}"):user_id>')
def user(user_id):
return 'user id : %s' %user_id if __name__ == '__main__':
app.run()
其中路由中使用的reg字符串表示匹配 三个小写英文字母开头,中间短横,末尾以5到6位的数字结尾 ,
效果如图
最新文章
- JQuery制作简单的网页导航特效
- css -- 导航条
- Java中数组的特性
- log4j日志的打印
- bnuoj 4187 GCC (数论)
- CentOS安装卸载memcache及JAVA示例
- java NIO 资料总结
- apache下配置虚拟主机案例详解
- StringBuilder和string.Format性能对比
- 手机上使用asmack开发xmpp客户端
- 2015.9.11模拟赛 codevs 4160【会玩的】
- HTTP协议4之缓存--转
- Oracle定时器调用存储过程
- 苹果Swift编程语言新手教程【中文版】
- extjs 6.2 helloworld
- Codeforces Round 371 Div2 B.Passwords
- linux的远程唤醒
- 使用HttpWebRequest请求API接口以及其他网站资源
- 什么是CONTAINERD?
- Android如何在http头信息里设置参数
热门文章
- java解决poi导出excel文字水印,导出excel不可操作问题
- iOS -App主流框架UINavigationController && UITabBarController的简单使用
- 实验四 Linux系统搭建C语言编程环境
- 重学 Java 设计模式:实战装饰器模式(SSO单点登录功能扩展,增加拦截用户访问方法范围场景)
- 【优雅写代码系统】springboot+mybatis+pagehelper+mybatisplus+druid教你如何优雅写代码
- openshift v1.5 不能登录system:admin 问题
- 顺序表的基本方法实现C语言版
- spark源码解析总结
- Selenium上传文件方法大全
- git 本机链接多库配置