我们接着hello来研究一下flask中的路由
首先,什么是flask框架中的路由
as far as i am concerned,它就是用一个装饰器来说明了基础网页网址+上‘/’+其他地址的新地址的网页来干什么。
可以说,路由就是原网页基础上的一个新网页,这个新网页可能很大变化,也可能只是原网页上做一个简单的修改,比如查询,数据更新之类的。
请求方式限定(一个网页肯定有的)
我们可以设定一个网页是get还是post
比如我们看看下面的代码:
@app.route('/',methods={'GET','POST'})
def hello():
return 'hello world'
我们指定了这个路由可以GET也可以POST
一般路由没有指定methods时,系统默认是GET
给路由传参示例
又是我们需要将同一类URL映射到同一个视图函数处理,比如:使用同一个视图函数来显示不同用户的订单信息。
@app.route('/order/<order_id>')
def get_order_id(order_id): #需要传参(填入参数)
# 参数类型默认是一个字符串,unicode
print (type(order_id))
return 'order_id %s' % order_id
访问网址:/order/666(传参:666)
路由传递的参数默认当作string处理
我们可以看下print的结果
这里指定int,会调用系统的路由转换器进行匹配和转换。
==-==大致原理是将参数强转伪int,如果成功,则可以进行路由匹配
==-==如果参数无法转换成功,就无法匹配该路由
@app.route('/order/int:<order_id>')
def get_order_id(order_id): #需要传参(填入参数)
# 参数类型默认是一个字符串,unicode
print (type(order_id))
return 'order_id %s' % order_id
可以看到我们限制参数为int后,我们传入string报错了