flask中的正则匹配

from flask import Flask,render_template,request,redirect,jsonify,views,url_for
from werkzeug.routing import BaseConverter

#匹配正则表达式需要填写的参数
app = Flask(import_name=__name__)
class Regex(BaseConverter):
"""
自定义正则表达式
"""
def __init__(self,map,regex):
super(Regex,self).__init__(map)
self.regex=regex

def to_python(self, value):
"""
当路由匹配成功的时候传输过来的值这个value就是你从前端传
:param value:
:return:
"""
return value
def to_url(self, value):
"""
使用url_for 生成的url时 传递的参数会经过这里这里的value就是那个值
:param value:
:return:
"""
val = super(Regex, self).to_url(value)
return val
app.url_map.converters['hahaha']=Regex
#首先配置,将你的类名改变配置这里声明app.url_map.converters["hahaha"],然后这个hahaha 必须是和你函数内正则的匹配前的那个名字相对应
@app.route('/index/<hahaha("d+"):id>',endpoint="sb")
def index(id):
print(id)
return "index"
#id在正则中id 要和你函数接受的参数一样这个参数就是你传过来的正则匹配带的结果
原文地址:https://www.cnblogs.com/yangxinpython/p/11845509.html