flask_实现路由匹配器和蓝图

本文介绍了Flask的四种内置路由匹配器,包括动态路由、整数、浮点数和路径参数,并展示了如何实现自定义路由匹配器。接着详细讲解了蓝图的使用,建议根据模块创建蓝图,例如按版本号区分。蓝图实质上是一个包,通过在`__init__.py`文件中设置路由。通过在主应用中注册蓝图,实现了视图函数的委托,简化了多个模块的管理。
摘要由CSDN通过智能技术生成

Flask自带的匹配器可以说有四种

  • 动态路由本身,可以传任何参数字符串或者数字,如:
  • 只能传整形数字,如:int:user_id
  • 只能传浮点型数字,如:float:num
  • 只能传path路径,如:path:url

以往的:

from flask import Flask 
app = Flask(__name__)

@app.route('/user/<int:user_id>'
def user(user_id):
 	return 'Hello,%d' %user_id

if __name__ == '__main__':
	app.run(debug=True)

开始自定义:

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['regex']=RegexConverter

@app.route('/user/<regex("(1[3578]\d+){9}"):phone>', methods=['POST', 'GET'])
def user(phon
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值