flask路由系统
Posted daviddd
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了flask路由系统相关的知识,希望对你有一定的参考价值。
路由系统
路由的两种写法
def index(): return render_template('index.html') app.add_url_rule('/index', 'index', index) # 公司里一般用这种方式 @app.route('/login') def login(): return render_template('login.html')
路由加载的源码流程
- 将url和函数打包成为 rule 对象 - 将rule对象添加到map对象中。 - app.url_map = map对象
动态路由
@app.route('/login') def login(): return render_template('login.html') @app.route('/login/<name>') def login(name): print(type(name)) return render_template('login.html') @app.route('/login/<int:name>') def login(name): print(type(name)) return render_template('login.html')
支持正则表达式的路由
from flask import Flask,render_template app = Flask(__name__) from werkzeug.routing import BaseConverter class RegConverter(BaseConverter): def __init__(self, map, regex): super().__init__(map) self.regex = regex app.url_map.converters['regex'] = RegConverter @app.route('/index/<regex("d+"):x1>') def index(x1): return render_template('index.html') if __name__ == '__main__': app.run()
以上是关于flask路由系统的主要内容,如果未能解决你的问题,请参考以下文章