美文网首页
上下文处理器 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