美文网首页
flask上下文是什么?flask上下文详解

flask上下文是什么?flask上下文详解

作者: Darren_Lin | 来源:发表于2017-09-12 18:59 被阅读247次

    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)。当模版不是在活动的请求上下文中渲染时这个变量不可用。

    g

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

    url_for()

    flask.url_for()函数

    get_flashed_messages()

    flask.get_flashed_messages()函数

    上下文处理器:

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

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

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

    相关文章

      网友评论

          本文标题:flask上下文是什么?flask上下文详解

          本文链接:https://www.haomeiwen.com/subject/hdmzjxtx.html