Python语言之正则匹配路由
小标 2018-08-09 来源 : 阅读 1647 评论 0

摘要:本文主要向大家介绍了Python语言之正则匹配路由,通过具体的内容向大家展示,希望对大家学习Python语言有所帮助。

本文主要向大家介绍了Python语言之正则匹配路由,通过具体的内容向大家展示,希望对大家学习Python语言有所帮助。

  在 web 开发中,可能会出现限制用户访问规则的场景,那么这个时候就需要用到正则匹配,根据自己的规则去限定请求参数再进行访问
具体实现步骤为:

导入转换器基类:在 Flask 中,所有的路由的匹配规则都是使用转换器对象进行记录
自定义转换器:自定义类继承于转换器基类
添加转换器到默认的转换器字典中
使用自定义转换器实现自定义匹配规则

代码实现

导入转换器基类


?1from werkzeug.routing import BaseConverter


自定义转换器


?123456# 自定义正则转换器class RegexConverter(BaseConverter):    def __init__(self, url_map, *args):        super(RegexConverter, self).__init__(url_map)        # 将接受的第1个参数当作匹配规则进行保存        self.regex = args[0]


添加转换器到默认的转换器字典中,并指定转换器使用时名字为: re


?1234app = Flask(__name__) # 将自定义转换器添加到转换器字典中,并指定转换器使用时名字为: reapp.url_map.converters['re'] = RegexConverter


使用转换器去实现自定义匹配规则

当前此处定义的规则是:3位数字




?123@app.route('/user/')def user_info(user_id):    return "user_id 为 %s" % user_id

  运行测试://127.0.0.1:5000/user/123 ,如果访问的url不符合规则,会提示找不到页面
系统自带转换器

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

系统自带的转换器具体使用方式在每种转换器的注释代码中有写,要注意每种转换器初始化的参数。.title { font-family: KaiTi; font-size: 16px; font-weight: bold; color: #777 }                                                                   -------  知识无价,汗水有情,如需搬运请注明出处,谢谢!

本文由职坐标整理并发布,希望对同学们学习Python有所帮助,更多内容请关注职坐标编程语言Python频道!

本文由 @小标 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式AI+学习就业服务平台 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved