品易云推流 关闭
文章详情页
文章 > Flask > flask上下文到底是什么

flask上下文到底是什么

头像

silencement

2019-07-27 14:36:515060浏览 · 0收藏 · 0评论

Flask使用上下文临时把某些对象变为全局可访问。有了上下文,就可以写出下面的视图函数。

Flask有两种上下文:程序上下文和请求上下文

Flask在分发请求之前激活(或推送)程序和请求上下文,请求处理完成后再将其删除。

程序上下文被推送后,就可以在线程中使用current_app和g变量。
请求上下文被推送后,就可以使用request和session变量
>>> from hello import app
>>> from flask import current_app>>> current_app.name
>>> current_app.name
Traceback (most recent call last):
...
RuntimeError: working outside of application context
>>> app_ctx = app.app_context()
>>> app_ctx.push()
>>> current_app.name
'hello'
>>> app_ctx.pop()

config

当前的配置对象 (flask.config)

request

当前的请求对象 (flask.request)。当模版不是在活动的请求上下文中渲染时这个变量不可用。

session

当前的会话对象 (flask.session)。当模版不是在活动的请求上下文中渲染时这个变量不可用。

请求相关的全局变量 (flask.g)。当模版不是在活动的请求上下文中渲染时这个变量不可用。

url_for()

flask.url_for()函数
get_flashed_messages()
flask.get_flashed_messages()函数

上下文处理器:

上下文处理器是一个返回字典的函数,这个字典的键值最终将传入应用中所有模板的上下文:

Flask 上下文处理器自动向模板的上下文中插入新变量

上下文处理器在模板渲染之前运行,并且可以在模板上下文中插入新值。

关注

关注公众号,随时随地在线学习

本教程部分素材来源于网络,版权问题联系站长!

底部广告图