Flask -- (9)路由的各种定义方式

路由的各种定义方式

请求方式限定

使用 methods 参数指定可接受的请求方式,可以是多种

@app.route('/',methods=['GET'])
def hello():
    return '<h1>hello world</h1>'

路由查找方式

同一个路由指向两个不同的函数,在匹配的过程中,自上而下依次匹配

@app.route('/')
def hello():
    return '<h1>hello world</h1>'

@app.route('/')
def hello_2017():
    return '<h1>hello 2017</h1>'

所以上面的路由 “/” 输出的是 hello 的结果

给路由传参示例

有时候我们需要将同一类 URL 映射到同一个视图函数处理,比如说:使用同一个视图函数来显示不同用户的个人信息。

路由传递的参数默认会被当做 string 处理,这里指定 int,尖括号中的内容是动态的,也可以不指定类型。

@app.route('/user/<int:id>')
def hello_itheima(id):
    return 'hello itcast %d' %id

重定向 redirect 示例

from flask import redirect
from flask import Flask

app = Flask(__name__)


@app.route("/")
def hello_baidu():
    return redirect("http://www.baidu.com")


if __name__ == '__main__':
    app.run(debug=True)

返回 Json 数据

返回状态码示例

在Python中返回状态码有两种实现方式:

(1)直接return

可以自定义返回状态码,可以实现不符合http协议的状态码,例如:error=666,errmsg=’查询数据库异常’,其作用是为了实现前后端数据交互的方便

(2)abort方法

只会抛出符合http协议的异常状态码,用于手动抛出异常

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值