flask路由中增加正则表达式

#coding=utf-8

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("/users/<username>")
def hello_str(username):
    return "hello %s" % username


@app.route("/users/<int:user_id>")
def hello_int(user_id):
    return "hello %s" % user_id

#规定user_id为a-z的三位字符
@app.route("/user/<regex('[a-z]{3}'):user_id>")
def hello_regex(user_id):
    return "User %s" % user_id


if __name__ == "__main__":
    app.run(port=8000, debug=True)

猜你喜欢

转载自www.cnblogs.com/themost/p/8984339.html
今日推荐