1. flask路由系统是基于装饰器的
@app.route('/login', methods=['POST', 'GET'],endpoint='login')
2. 路由转换器
'default': UnicodeConverter,
默认,不能一直携带/
'string': UnicodeConverter,
字符串
'any': AnyConverter,
任意类型
'path': PathConverter,
对/严格要求,是拼接在根路径之后的,可以一直携带
'int': IntegerConverter,
整型
'float': FloatConverter,
浮点型
'uuid': UUIDConverter,
uuid类型
3. 路由本质
@app.route('/login', methods=['POST', 'GET'],endpoint='login')
def index():
return 123
decorator函数源码
def decorator(f: T_route) -> T_route:
endpoint = options.pop("endpoint", None)
self.add_url_rule(rule, endpoint, f, **options)
return f
return decorator
3.1 核心函数
self.add_url_rule(rule, endpoint, f, **options)
参数详解
rule, URL:规则,路径地址
view_func:视图函数名称
defaults = None:默认值, 当URL中无参数,函数需要参数时,使用defaults= {'k': 'v'}为函数提供参数
endpoint = None:名称,用于反向生成URL,即: url_for('名称')
methods = None:允许的请求方式,如:["GET", "POST"]
strict_slashes = None
redirect_to = None,
4. endpoint
@app.route('/login', methods['POST','GET'],endpoint='login')