标签:init convert index python elf template class pre routing
路由的两种写法
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()
标签:init convert index python elf template class pre routing
原文地址:https://www.cnblogs.com/daviddd/p/11913327.html