0
点赞
收藏
分享

微信扫一扫

[面试题]python flask框架请求流程

Flask 是一种基于 Python 的 Web 框架,它采用了基于视图函数的方式来处理 HTTP 请求和响应。下面是 Flask 的请求流程:

  1. 创建 Flask 应用

在 Python 中,我们需要导入 Flask 模块并创建一个 Flask 应用对象,例如:

from flask import Flask

app = Flask(__name__)

  1. 定义路由规则

Flask 使用基于装饰器的方式来定义路由规则。可以使用 route 装饰器来指定路由路径和请求方法,例如:

@app.route('/hello', methods=['GET'])
def hello():
    return 'Hello, World!'

这个例子中,我们定义了一个 /hello 的 GET 请求路由,并将其绑定到一个名为 hello 的视图函数上。

  1. 接收请求

当客户端发送请求到服务器时,Flask 应用会根据路由规则匹配到对应的视图函数,并将请求作为参数传递给视图函数。例如:

@app.route('/user/<username>', methods=['GET'])
def show_user_profile(username):
    return f'User {username}'

这个例子中,我们定义了一个 /user/<username> 的 GET 请求路由,并从路由参数中获取用户名。

  1. 处理请求

在视图函数中,可以访问和操作请求相关的数据,例如请求参数、头信息和 Cookie 等。例如:

from flask import request

@app.route('/login', methods=['POST'])
def login():
    username = request.form['username']
    password = request.form['password']

    # ...

这个例子中,我们定义了一个 /login 的 POST 请求路由,并从表单参数中获取用户名和密码。

  1. 发送响应

视图函数最终需要向客户端发送 HTTP 响应。可以使用 Flask 提供的特殊对象 Response 来设置响应状态码、消息体、头信息等。例如:

from flask import Response

@app.route('/ping', methods=['GET'])
def ping():
    return Response('pong', status=200, content_type='text/plain')

这个例子中,我们定义了一个 /ping 的 GET 请求路由,并返回字符串 pong 作为响应消息体。

  1. 启动服务器

最后,需要通过调用 run() 方法来启动 Flask 应用并监听端口。例如:

if __name__ == '__main__':
    app.run(host='0.0.0.0', port=5000)

这个例子中,我们将服务器绑定到本地 5000 端口,并等待客户端连接。

总之,Flask 的请求流程包括创建应用对象、定义路由规则、接收请求、处理请求和发送响应等步骤。使用 Flask 可以很方便地快速构建 Web 应用程序。



举报

相关推荐

0 条评论