Flask的Jinja2模板引擎 — 上下文环境、自定义函数

本文深入探讨了Flask框架中模板的上下文环境,包括标准上下文变量如request、session和g,以及如何自定义上下文变量和函数。通过实例展示了如何在模板中访问这些变量和函数。

Flask每个请求都有生命周期,在生命周期内请求有其上下文环境Request Context。作为在请求中渲染的模板,自然也在请求的生命周期内,所以Flask应用中的模板可以使用到请求上下文中的环境变量,及一些辅助函数。本文就会介绍下这些变量和函数。

标准上下文变量和函数

请求对象request

request对象可以用来获取请求的方法”request.method”,表单”request.form”,请求的参数”request.args”,请求地址”request.url”等。它本身是一个字典。在模板中,你一样可以获取这些内容,只要用表达式符号”{ { }}”括起来即可。

<p>{
  
  { request.url }}</p>

在没有请求上下文的环境中,这个对象不可用。

会话对象session

session对象可以用来获取当前会话中保存的状态,它本身是一个字典。在模板中,你可以用表达式符号”{ { }}”来获取这个对象。

Flask代码如下,别忘了设置会话密钥哦:

@app.route('/')
def index():
    session['user'] = 'guest'
    return render_template('hello.html')
 
app.secret_key = '123456'

模板代码:

<p>User: {
  
  { session.user }}</p>

在没有请求上下文的环境中,这个对象不可用。

全局对象g

全局变量g,用来保存请求中会用到全局内容,比如数据库连接。模板中也可以访问。

Fla

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值