flask-路转换器

from flask import Flask, render_template
from werkzeug.routing import BaseConverter # 配置regex路由转换器

# 配置regex路由转换器类
class RegexConvert(BaseConverter):
    def __init__(self, url_map, *items):
        super(RegexConvert, self).__init__(url_map)
        self.regex = items[0]


app = Flask(__name__)
app.url_map.converters['regex'] = RegexConvert

# 可以定义多个路由地址指向同一个url
@app.route('/hello/') @app.route(
'/') def hello_world(): return render_template('index.html', title='hello flask!') @app.route('/test/') def test(): return 'test' # 4种路由转换器,前三种不用配置 """ 1、int e.g:<int:id> 2、float e.g:<float:id> 3、path e.g:/user/name/id 4、regex e.g:<regex("[a-z]{3}"):username> """ @app.route('/user1/<username>') def user1(username): return 'User: %s' % username # 路由转换器int(整数)、float(小数) @app.route('/user2/<float:user_id>') def user2(user_id): return 'User %s' % user_id # 路由转换器regex @app.route('/user3/<regex("[a-z]{3}"):user_id>') def user3(user_id): return 'User %s' % user_id if __name__ == '__main__': # app.run() # 调试模式 app.run(debug=True)

猜你喜欢

转载自www.cnblogs.com/zkkysqs/p/9416125.html
今日推荐