什么是 Flask
Flask 是一个轻量级的 Python Web 框架,它基于 Werkzeug WSGI 工具箱和 Jinja2 模板引擎。Flask 使用简单,灵活性高,可以快速搭建 Web 应用。
HTTP 请求
在 Web 开发中,客户端通过 HTTP 请求与服务器交互。Flask 提供了 request 对象,用于获取客户端的请求信息。
通过 request 对象,我们可以获得以下信息:
- 请求方法(GET、POST、PUT 等)
- URL 路径
- 查询参数
- 表单数据
- HTTP 头部信息
使用示例:
from flask import request
@app.route('/example', methods=['POST'])
def example():
method = request.method
path = request.path
query_params = request.args
form_data = request.form
headers = request.headers
# 处理请求
return '处理结果'
HTTP 响应
服务器处理完请求后,需要返回一个 HTTP 响应给客户端。Flask 提供了 Response 对象,用于构建响应。
通过 Response 对象,我们可以设置响应的状态码、内容、头部信息等。
使用示例:
from flask import Flask, Response
@app.route('/example')
def example():
# 处理请求
# 创建响应对象
response = Response()
response.status_code = 200
response.headers['Content-Type'] = 'text/plain'
response.data = '处理结果'
return response
JSON 响应
Flask 还支持返回 JSON 格式的响应。可以通过 jsonify 方法将 Python 对象转换为 JSON 格式。
使用示例:
from flask import Flask, jsonify
@app.route('/example')
def example():
# 处理请求
# 创建 JSON 响应
data = {'key1': 'value1', 'key2': 'value2'}
response = jsonify(data)
return response
模板渲染
除了返回纯文本和 JSON 响应外,Flask 还支持使用模板引擎渲染动态内容。常见的模板引擎有 Jinja2、Mako 等。
使用示例(使用 Jinja2):
from flask import Flask, render_template
@app.route('/example')
def example():
# 处理请求
# 渲染模板并返回响应
return render_template('template.html', data=data)
总结
Flask 是一个灵活且功能强大的 Web 框架,通过它我们可以轻松处理 HTTP 请求和构建响应。掌握了 Flask 的 Request 和 Response 对象的用法,我们可以更加灵活地开发 Web 应用,并可以根据业务需求返回不同格式的数据。
评论 (0)