美文网首页
上下文处理器 context_processor

上下文处理器 context_processor

作者: SingleDiego | 来源:发表于2021-12-09 10:45 被阅读0次

    假如有一个变量(如用户、时间等)需要在多个视图函数中频繁被调用,在每个视图函数中都传入该变量将会是一个繁琐的工作,这种情况下我们可以使用 Flask 的上下文处理器 context_processor,它可以使得所有模板文件都能读取到该变量。

    例子:

    from datetime import datetime
    from flask import Flask, render_template
    
    app = Flask(__name__)
    
    @app.context_processor
    def inject_now():
        return {'now': datetime.utcnow()}
    
    @app.route('/')
    def index():
       return render_template('index.html')
    

    上例中 inject_now() 函数(该函数名)绑定上 context_processor 装饰器,它返回一个包含当前时间的字典对象。

    现在我们可以在所有模板文件中来直接使用 now 变量:

    {{ now }}
    

    相关文章

      网友评论

          本文标题:上下文处理器 context_processor

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