Flask上下文
current_app | 应用上下文 | 当前应用的应用实例 |
g | 应用上下文 | 处理请求是用做临时存储的对象,每次请求都会重设这个变量 |
request | 请求上下文 | 请求对象,封装了客户端发出的HTTP请求中的内容 |
session | 请求上下文 | 用户回话,值为一个字典,存储请求之间需要‘’记住‘’的值 |
Flask请求对象request
form | 一个字典,存储请求提交的所有表单字段 |
args | 一个字典,存储通过URL查询字符串传递的所有参数 |
values | 一个字典,form和args的合集 |
cookies | 一个字典,存储所有请求的cookie |
headers | 一个字典,存储所有请求的HTTP首部 |
files | 一个字典,存储请求上传的所有文件 |
get_data() | 返回请求主体缓冲的数据 |
get_json() | 返回一个Python字典,包含解析请求主体后得到的json数据 |
blueprint | 处理请求的Flask蓝本的名称 |
endpoint | 处理请求的端点的名称,Flask把视图函数的名称用作路由端点的名称 |
method | HTTP请求方法 |
scheme | URL协议 |
host | 请求定义的主机名,如果客户端定义了端口号,还包括端口号 |
path | URL的路径部分 |
is_secure() | 通过安全的链接时返回true |
query_string | URL的查询字符串部分,返回原始二进制值 |
full_path | URL的路径和查询字符串部分 |
url | 客户端完整的请求URL |
base_url | 同url但没有查询字符串部分 |
remote_addr | 客户端的IP地址 |
environ | 请求的原始WSGI环境字典 |
Flask 响应对象
(1)make_response() 方法
from flask import make_response,Flask
app = Flask(__name__)
@app.route('/<name>')
def index(name):
response = make_response("hello %s"%name,500)
response.set_cookie("answer",'42')
return response
if __name__ == "__main__":
app.run()
(2)return 响应,状态码
status_code | HTTP数字状态码 |
headers | 一个类似字典的对象,包括随响应发送的所有首部 |
set_cookie() | 为响应添加一个cookie |
delete_cookie() | 删除一个cookie |
content_length | 响应主体的长度 |
content_type | 响应主体的媒体类型 |
set_data() | 使用字符串或字节流设定响应 |
get_data() | 获取响应主体 |
Flask重定向 redirect
重定向的状态码通常是 302,在 Location 首部中提供目标 URL。重定向响应可以使用 3
个值形式的返回值生成,也可在响应对象中设定。
from flask import redirect
@app.route('/')
def index():
return redirect('http://www.baidu.com')