flask中自定义路由转换类

本文介绍了如何在Flask中自定义路由转换类以扩展其功能。通过继承内置转换基类,编写自己的转换规则,并将自定义转换类注册到系统路由列表,实现了更灵活的URL匹配,允许根据任意正则表达式进行匹配和捕获URL参数。
摘要由CSDN通过智能技术生成

在flask中自带的有很多路由转换类,但有时候自带的路由转换类无法完整的实现我们想要的功能,这时候我们可以自定义路由转换类,来实现自己想要的功能.

0,首先自定义的路由转换类需要继承自转换的基类

1,编写自己的路由类,实现自定义功能

2,将自定义的路由转换类添加到系统的路由列表中


        这个自定义转换的路由类只能实现四位数字的匹配,不能实现我们想要什么就能匹配什么的功能,我们对其进行完善.

    

# -*- coding:utf-8 -*-


from flask import Flask, redirect, url_for
from werkzeug.routing import BaseConverter


class RegexConverter(BaseConverter):
    """实现外界传入什么正则,我就匹配什么条件"""

    def __init__(self, url_map, *args):
        super(RegexConverter, self).__init__(url_map)

        self.regex = args[0]

    # 机制:在匹配成功之后,MapAdapter执行匹配和调用视图函数,调用视图函数之前,可以得到要匹配的参数
    # 作用:可以在这个方法中,对要匹配的参数进行进一步的处理,比如转换数据类型
    def to_python(self, value):
        value = int(value)
        return value

    # 需要搭配url_fo
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值