[学习笔记] flask-路由

一、装饰器

flask里的装饰器route类似于add_url_rule()

为什么呢?

在flask里定义的route函数代码大致为:

def route(self, rule, **options):

   def decorator(f):     // f = 上面要返回的函数(如@app.route(‘/(这里的函数)’))

   self.add_url_rule(rule‘rule’,endpoint,f,**options)  //引号里的rule就是上面的rule传过来的

   return f

return decorator

 由上可知,其实就是在route里面调用了add_url_rule()

 实质上:

 =

route这个装饰器其实就是将rule字符串跟视图函数进行了绑定,通过add_url_rule()实现绑定

所以我们写代码将会用route

二、路由变量:

@app.route(‘/xx/<key>’)

xx:随便一个路由的名字,以xx代替

key:随便起一个名,不是key但是默认是字符串类型

如果key有歧义,需要声明字符串,代码即将为:

@app.route(‘/xx/<str:key>’)

注:如果那个是字符串就不用str:了

-装饰器支持的转换类型:

//获取自己的uuid

import uuid

Uid=uuid.uuid4()

 

三、以下报错为装饰器支持返回的类型:

 a) 返回时可以强制转换类型。

b) 返回的字符串类型其实也是做了response封装,最终返回的还是response对象。

注意:tuple元组不能直接使用,所谓元组就是以下面形式传的:

def index2():

   Return ‘hello world’,200   

不能像其他的一样写进@app.route()里

 

四、关于response响应

 

五、唯一的URL/重定向行为:

@app.route(‘/about’)

请求路由中如果请求 /about/  显示 not found

@app.route(‘/about/’)

请求路由有没有在后面加/都能显示  请求时带/就正好匹配,没有带/相当于重定向,也能进去

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值