博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
flask中的上下文处理器context_processor
阅读量:4317 次
发布时间:2019-06-06

本文共 1723 字,大约阅读时间需要 5 分钟。

常用重点:

1.上下文处理器应该返回一个字典,字典中的key会被模板中当成变量来渲染

2.上下文处理器返回的字典,在所有页面中都是可以使用的

3.被这个装饰器修饰的钩子函数,必须要返回一个字典,即使为空也要返回。

 

简介:

  app_context_processor在flask中被称作上下文处理器,借助app_context_processor我们可以让所有自定义变量在模板中可见,如下面的代码,我们将email作为一个变量在所有模板中可见:

@main.app_context_processordef admin_email():    email='879651072@qq.com'    return dict(email='879651072@qq.com')

注意点:

1.app_context_processor作为一个装饰器修饰一个函数

2.函数的返回结果必须是dict,届时dict中的key将作为变量在所有模板中可见

定义了上述变量email中之后,我们直接在html模板中进行使用:

管理员邮箱:{
{email}}

 

 

例子:

# hook.pyfrom flask import Flask, render_template,request,session,redirect,url_for,gimport osapp = Flask(__name__)app.config['SECRET_KEY'] = os.urandom(24)@app.route('/')def hello_world():    print('Index!')    return render_template('index.html')@app.route('/login/',methods = ['GET','POST'])def login():    print('login')    if request.method == 'GET':      return render_template('login.html')    else:      username = request.form.get('username')      password = request.form.get('password')      if username == 'zhiliao' and password == '111111':        session['username'] = 'zhiliao'        return '登录成功'      else:        return '用户名或者密码错误!'@app.route('/edit/')def edit():    return render_template('edit.html')# before_request:在请求之前执行的# before_request是在视图函数执行之前执行的# before_request这个函数只是一个装饰器,它可以把需要设置为钩子函数的代码放到视图函数执行之前来执行@app.before_requestdef my_before_request():    if session.get('username'):      g.username = session.get('username')@app.context_processordef my_context_processor():    return {
'username':'test'}if __name__ == '__main__': app.run(debug = True)
Title {
{ username }}
Title {
{ username }}

 

转载于:https://www.cnblogs.com/Paul-watermelon/articles/10141522.html

你可能感兴趣的文章
状态机编程思想(1):括号内外字符串统计
查看>>
K-Means聚类和EM算法复习总结
查看>>
[转]Bat脚本处理ftp超强案例解说
查看>>
P3901 数列找不同
查看>>
利用无线网络数据包分析无线网络安全
查看>>
MEMBER REPORT
查看>>
[HAOI2006]受欢迎的牛
查看>>
使用jquery去掉时光轴头尾部的线条
查看>>
算法(转)
查看>>
网络字节顺序
查看>>
复制mueclipse项目到eclipse
查看>>
飞扬的小鸟
查看>>
玩转TypeScript(2) --简单TypeScript类型
查看>>
Asp.net 解析json
查看>>
程序猿崛起3——这一次,我用行动说话
查看>>
201521123038 《Java程序设计》 第一周学习总结
查看>>
每天一个linux命令(20):find命令之exec
查看>>
MVC HtmlHelper用法大全
查看>>
SQL分布式查询、跨数据库查询
查看>>
python国内豆瓣源
查看>>