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 上下文处理器自动向模板的上下文中插入新变量
上下文处理器在模板渲染之前运行,并且可以在模板上下文中插入新值。
常见问题FAQ
- 免费下载或者VIP会员专享资源能否直接商用?
- 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
- 提示下载完但解压或打开不了?
- 找不到素材资源介绍文章里的示例图片?
- 模板不会安装或需要功能定制以及二次开发?
发表评论
还没有评论,快来抢沙发吧!