Flask: 路由

来源:互联网 发布:ardupilot 源码 分析 编辑:程序博客网 时间:2024/05/25 13:33

路由

客户端把请求发送给Web服务器,Web服务器再把请求发送给程序实例。程序实例需要知道对每个URL请求运行哪些代码,所以保存了一个 URL 到 Python 函数的映射关系。处理URL和函数之间关系的程序称路由

Flask中使用 app.route 装饰器,把装饰器的函数注册到路由。

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

这个例子将 index() 函数注册为程序根 '/' 地址。
访问 http://localhost:5000/ 后,会触发服务器执行 index() 函数,这个函数的返回值称为响应,是客户端接收到的内容。

index() 这样的函数称为视图函数。视图函数返回的响应可以是包含 HTML 的简单字符串,也可以是复杂的表单。

动态路由

如 Github 中,登录到某人的主页, 这时URL为 https://github.com/<user-name>,用户名 user-name 是地址的一部分。

Flask 中,只需要在 route 装饰器中使用特殊的句法即可。

@app.route('/user/<name>')def user(name):    return '<h1> hello, %s </h1>' % name

尖括号中的内容就是动态部分,任何匹配静态部分的URL都会映射到这个路由上。调用视图函数时,Flask 会将动态部分作为参数传入函数中。

路由中的动态部分默认使用字符串,不过也可以使用类型定义:int float path 类型。
例如: /user/<int:id>

path 类型也是字符串,但不把斜线视作分隔符。

原创粉丝点击