主页 > 创业  > 

FlaskWeb开发实验一:第一个Flask项目与Flask的工作方式

FlaskWeb开发实验一:第一个Flask项目与Flask的工作方式

目录

2.1 初始化

2.2 路由和视图函数

2.3 启动服务器

2.4 一个完整的程序,

示例 2-1 hello.py:一个完整的 Flask 程序

示例 2-2 hello.py:包含动态路由的 Flask 程序

2.5.1 程序和请求上下文

2.5.2 请求调度

2.5.3 请求钩子

2.5.4 响应

2.6 Flask扩展


2.1 初始化 所有 Flask 程序都必须创建一个 程序实例 。 Web 服务器使用一种名为 Web 服务器网关接口 ( Web Server Gateway Interface , WSGI )的协议,把接收自客户端的所有请求都转交给这 个对象处理。程序实例是 Flask 类的对象,经常使用下述代码创建: from flask import Flask app = Flask(__name__) Flask 类的构造函数只有一个必须指定的参数,即程序主模块或包的名字。在大多数程序 中, Python 的 __name__ 变量就是所需的值

2.2 路由和视图函数 客户端(例如 Web 浏览器)把 请求 发送给 Web 服务器, Web 服务器再把请求发送给 Flask 程序实例。程序实例需要知道对每个 URL 请求运行哪些代码,所以保存了一个 URL 到 Python 函数的映射关系。处理 URL 和函数之间关系的程序称为 路由 。 在 Flask 程序中定义路由的最简便方式,是使用程序实例提供的 app.route 修饰器,把修 饰的函数注册为路由。下面的例子说明了如何使用这个修饰器声明路由: @app.route('/') def index(): return '<h1>Hello World!</h1>' 如果你仔细观察日常所用服务的某些 URL 格式,会发现很多地址中都包含可变部分。例 如, 你 的 Facebook 资 料 页 面 的 地 址 是 http:// .facebook /< your-name > , 用 户 名 ( your-name )是地址的一部分。 Flask 支持这种形式的 URL ,只需在 route 修饰器中使用特 殊的句法即可。下例定义的路由中就有一部分是动态名字 @app.route('/user/<name>') def user(name): return '<h1>Hello, % s!</h1>' % name 尖括号中的内容就是动态部分,任何能匹配静态部分的 URL 都会映射到这个路由上。调 用视图函数时, Flask 会将动态部分作为参数传入函数。在这个视图函数中,参数用于生 成针对个人的欢迎消息。 路由中的动态部分默认使用字符串,不过也可使用类型定义。例如,路由 /user/<int:id> 只会匹配动态片段 id 为整数的 URL 。 Flask 支持在路由中使用 int 、 float 和 path 类型。 path 类型也是字符串,但不把斜线视作分隔符,而将其当作动态片段的一部分。 2.3 启动服务器 程序实例用 run 方法启动 Flask 集成的开发 Web 服务器: if __name__ == '__main__': app.run(debug=True) __name__== ' __main__ ' 是 Python 的惯常用法,在这里确保直接执行这个脚本时才启动开发 Web 服务器。如果这个脚本由其他脚本引入,程序假定父级脚本会启动不同的服务器,因 此不会执行 app.run() 。 服务器启动后,会
标签:

FlaskWeb开发实验一:第一个Flask项目与Flask的工作方式由讯客互联创业栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“FlaskWeb开发实验一:第一个Flask项目与Flask的工作方式