- 反向生成URL
@app.route('/index',methods=["GET","POST"],endpoint="n1")
def index():
print('index')
print(url_for('n1'))
return "index"
- endpoint参数默认为flask路由装饰器下面定义的函数名
index
,而上述代码将endpoint修改为n1
因此使用url_for('n1')
就可以反向生成url,打印生成结果为/index
- methods参数若不定义,默认只能响应
GET
请求
- 动态路由
@app.route('/index/<int:nid>',methods=['GET','POST'])
def index(nid):
print(url_for("index",nid=777))
print(url_for("index",nid=nid)) #根据输入的nid,反向生成url
return "Index"
浏览器输入网址,如127.0.0.1:5000/index/5
即可访问该路由,同时需要注意反向生成url加参数的情况,路由中定义的nid与url_for第2个参数nid名字必须一致,若第2个参数定义为id=777,会报错
- @app.route(’/user/’)
- @app.route(’/post/int:post_id’)
- @app.route(’/post/float:post_id’)
- @app.route(’/post/path:path’)
- @app.route(’/login’, methods=[‘GET’, ‘POST’])
常用路由系统有以上五种,所有的路由系统都是基于以下对应关系来处理:
DEFAULT_CONVERTERS = {
'default': UnicodeConverter, #字符串
'string': UnicodeConverter, #字符串
'any': AnyConverter,
'path': PathConverter,
'int': IntegerConverter,
'float': FloatConverter,
'uuid': UUIDConverter,
}