码迷,mamicode.com
首页 > 其他好文 > 详细

Flask请求-响应循环

时间:2020-03-04 22:43:06      阅读:61      评论:0      收藏:0      [点我收藏+]

标签:响应   session   需要   style   情况   header   大量   用户   name   

Flask请求-响应循环

要想让视图函数能够请求对象,一种直接了当的方式是将其作为参数闯入试图函数,不过这会导致应用中的每个视图函数,不过这会导致每个视图函数都多出一个参数。除了访问请求对象,如果视图函数在处理请求时还要访问其他对象,情况会变得更糟。

为了避免大量可有可无的参数把视图函数弄的一团糟,Flask使用上下文

from flask import Flask

@app.route("/")
def index():
    user_agent = request.header.get("User-Agent")
    return '<p>Your browser is {} </p>'.format(user-agent)
注意,在这个视图函数中我们把request当作全局变量使用。事实上,request不可能是全局变量。试想,在多个线程处理不同客户端发送的不同请求时,每个线程看到的request对象必然不同。Flask使用上下文让特定的变量在一个线程中全局可访问,与此同时却不会干扰其他的线程。
变量名 上下文 说明
current_app 应用上下文 当前应用的应用实例
g 应用上下文 处理请求时用作临时存储的对象,每次请求都会重设这个变量
request 请求上下文 请求对象,封装了客户端发出的HTTP请求中的内容
session 请求上下文 用户会话,值为一个字典,存储请求之间需要记住的值

没激活应用上下文之前就调用curren_app.name会导致错误,但推送完上下文就可以调用了。值的注意的是,获取应用上下文的方法是在应用实例上调用app.app_context()

Flask请求-响应循环

标签:响应   session   需要   style   情况   header   大量   用户   name   

原文地址:https://www.cnblogs.com/barry-cbt/p/12416621.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!