python 特殊变量_Python Flask,Jinja2模板,模板中使用特殊变量及函数,闪现信息,get_flashed_messages()...

在渲染模板时,不需要手动分配,可以直接在模板中使用的模板变量及函数:config、request、url_for()、get_flashed_messages()

在Flask中,有一些特殊的变量和方法是可以在模板文件中直接访问的。

config 对象:

config 对象就是Flask的config对象,也就是 app.config 对象。

{{ config.SQLALCHEMY_DATABASE_URI }}

request 对象:

就是 Flask 中表示当前请求的 request 对象,request对象中保存了一次HTTP请求的一切信息。

request常用的属性如下:

{{ request.url }}

url_for() 方法:

url_for() 会返回视图函数对应的URL。如果定义的视图函数是带有参数的,则可以将这些参数作为命名参数传入。

{{ url_for('index') }}

{{ url_for('post', post_id=1024) }}

get_flashed_messages() 方法:

返回之前在Flask中通过 flash() 传入的闪现信息列表。把字符串对象表示的消息加入到一个消息队列中,然后通过调用 get_flashed_messages() 方法取出(闪现信息只能取出一次,取出后闪现信息会被清空)。

demo.py(flash添加闪现信息):

# coding:utf-8

from flask import Flask, render_template, flash # 导入flash

app = Flask(__name__)

app.config["SECRET_KEY"] = "SDHFOSDF" # flash依赖于session,所有需要设置秘钥

flag = True

@app.route("/")

def index():

if flag:

# 添加闪现信息

flash("hello1")

flash("hello2")

flash("hello3")

global flag

flag = False

return render_template("index.html") # 渲染模板时,不需要分配闪现信息,模板中可以直接使用。

if __name__ == '__main__':

app.run(debug=True)

templates/index.html(模板,get_flashed_messages()取出闪现信息):

闪现

闪现信息

{% for msg in get_flashed_messages() %}

{{msg}}

{% endfor %}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值