Flask学习笔记一(基本结构)

------------恢复内容开始------------

1.初始化

  Web服务器使用WSGI协议。把客户端的请求都转交这个对象处理。这个对象就是需要程序中初始化Flask类的对象。

from flask import Flask

app = Flask(__name__) 

2.路由和视图函数

  client发请求给Web服务器,Web服务器再把请求发送给Flask程序实例。

程序实例需要知道每个URL请求运行哪些代码。 URL就是映射关系。

@app.route('/')      
def index():            # 视图函数(view function)
    return 'wussup'     # 返回值 成为响应

  页面的动态部分将作为参数传入函数。参数类型定义放在路由中。

所以路由分为静态与动态。

2.3启动服务器

  使用刚刚创建好的Flask类实例 来调用run方法启动Web服务器。

if __name__ == '__main__':     #确保直接知而行这个脚本时才启动开发Web服务器
    app.run(debug=True)

  启动后,服务器进入轮询状态,等待并处理请求。

2.4请求-响应循环

  设计理念的介绍。

2.4.1程序和请求上下文

  Flask从客户端接收到请求后,要让视图函数访问对象才能处理请求。request 对象就是一个例子。

request用来封装HTTP请求。 最简单的做法是在路由函数中传递参数,如果需要多个参数,那这些函数显得冗杂。

为了避免这种情况,Flask使用了上下文临时把某些对象变为全局可访问。

from flask import request

@app.route('/'):
    user_agent = request.head.get('User-Agent')
    return '<p> user_agent is %s</p>'  %user_agent

  flask的上下文:分为请求上下文,程序上下文。

程序上下文调用后才可以调用请求上下文,不然会报错。

2.4.2请求调度

客户端发送请求后,服务端要找到相应的视图函数来执行。

2.4.3请求钩子

原文地址:https://www.cnblogs.com/sometingintheway/p/12662109.html