flask Python:钩子函数shell_context_processor(上下文处理器)的使用

一、请求上下文和应用上下文

什么是请求上下文和应用上下文?,在这里,了解到了一个词叫上下文处理器,通俗理解就是在一个请求中定义全局变量的。

每次启动Flask shell都需要导入数据库实例和模型,感觉繁琐又重复,那我们可以在程序中进行配置,让flask shell命令自动导入这些对象,这样在打开shell的时候就不用再导入这些对象,直接使用就可以了。这样就需要注册一个shell上下文处理器

二、shell上下文处理器(shell_context_processor)

@app.shell_context_processor 装饰器创建并注册一个shell上下文处理器,此函数必须返回数据,且只能是字典即使是空的字典。代码如下:

  @app.shell_context_processor
  def shell():
      return dict(app=app, db=db)

在这里插入图片描述

其他相关上下文处理器

同样地,如果有一些在很多模板中都要用到的变量,那么为了避免重复动作,可以用context_processor方法,来定义常用的变量。此函数必须返回数据,且只能是字典即使是空的字典。
代码示例如下:

    @app.context_processor
    def inject_stage_and_region():
        light_theme = read_config().get('base', 'light_theme')
        dark_theme = read_config().get('base', 'dark_theme')
        return dict(light=light_theme + BOOTSTRAP_SUFFIX, dark=dark_theme + BOOTSTRAP_SUFFIX)

在这里插入图片描述

相关推荐

  1. react中useMemo 钩子函数使用

    2024-03-30 08:08:03       40 阅读
  2. pytest中钩子函数使用

    2024-03-30 08:08:03       38 阅读
  3. Pytest中钩子函数

    2024-03-30 08:08:03       25 阅读
  4. Pytorch中钩子函数Hook函数

    2024-03-30 08:08:03       40 阅读
  5. Vue-Router: 如何使用路由钩子函数处理路由变化

    2024-03-30 08:08:03       64 阅读
  6. Vue3 和Vue2区别,以及钩子函数使用

    2024-03-30 08:08:03       61 阅读
  7. vue路由钩子函数?

    2024-03-30 08:08:03       44 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-30 08:08:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-30 08:08:03       100 阅读
  3. 在Django里面运行非项目文件

    2024-03-30 08:08:03       82 阅读
  4. Python语言-面向对象

    2024-03-30 08:08:03       91 阅读

热门阅读

  1. Tomcat

    Tomcat

    2024-03-30 08:08:03      32 阅读
  2. MacOS安装Homebrew教程

    2024-03-30 08:08:03       34 阅读
  3. 在Oracle中如何使用索引快速扫描优化全表扫描

    2024-03-30 08:08:03       45 阅读
  4. 代码随想录算法训练营 Day35 贪心算法4

    2024-03-30 08:08:03       41 阅读
  5. 中央处理器CPU

    2024-03-30 08:08:03       39 阅读
  6. 【OpenCV】Mat 构造函数

    2024-03-30 08:08:03       41 阅读
  7. Redis 过期删除策略 And 内存淘汰策略 !!!

    2024-03-30 08:08:03       39 阅读
  8. Docker从入门到放弃

    2024-03-30 08:08:03       36 阅读
  9. 2024年github开源top100中文

    2024-03-30 08:08:03       38 阅读