Web框架flask---路由限制于路由参数处理

我们接着hello来研究一下flask中的路由

  • 首先,什么是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/')
def get_order_id(order_id): #需要传参(填入参数)
    # 参数类型默认是一个字符串,unicode
    print (type(order_id))
    return 'order_id %s' % order_id

访问网址:/order/666(传参:666)
Web框架flask---路由限制于路由参数处理_第1张图片
路由传递的参数默认当作string处理
我们可以看下print的结果
Web框架flask---路由限制于路由参数处理_第2张图片

这里指定int,会调用系统的路由转换器进行匹配和转换。
==-==大致原理是将参数强转伪int,如果成功,则可以进行路由匹配
==-==如果参数无法转换成功,就无法匹配该路由

@app.route('/order/int:')
def get_order_id(order_id): #需要传参(填入参数)
    # 参数类型默认是一个字符串,unicode
    print (type(order_id))
    return 'order_id %s' % order_id

Web框架flask---路由限制于路由参数处理_第3张图片

可以看到我们限制参数为int后,我们传入string报错了

你可能感兴趣的:(web前端,web,python,flask)