概述
在渲染模板时,不需要手动分配,可以直接在模板中使用的模板变量及函数: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()取出闪现信息):
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>闪现</title>
</head>
<body>
<h1>闪现信息</h1>
<!-- 直接通过get_flashed_messages()函数获取视图中的闪现信息。(闪现信息只能取出一次。) -->
{% for msg in get_flashed_messages() %}
<p>{{msg}}</p>
{% endfor %}
</body>
</html>
最后
以上就是虚幻大象为你收集整理的Python Flask,Jinja2模板,模板中使用特殊变量及函数,闪现信息,get_flashed_messages()的全部内容,希望文章能够帮你解决Python Flask,Jinja2模板,模板中使用特殊变量及函数,闪现信息,get_flashed_messages()所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复