1. 程式人生 > 其它 >python學習筆記——flask之渲染模板(Jinja2)-特殊變數和方法

python學習筆記——flask之渲染模板(Jinja2)-特殊變數和方法

在Flask中,有一些特殊的變數和方法是可以在模板檔案中直接訪問的。


一、config 物件:

config 物件就是Flask的config物件,也就是 app.config 物件
{{ config.SQLALCHEMY_DATABASE_URI }}

二、request 物件

{{ request.url }}

三、url_for 方法

{{ url_for('index') }}

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

四、get_flashed_messages(閃現)

我們有時候在一個頁面儲存了一些資訊,然後需要在另一個頁面使用,這個時候就需要使用flash,其實從應用需求角度來看session也能完成上面的需求,其實flash就是對session的封裝,它的底層實現其實也是session。

flash和它的名字一樣,是閃現,意思就是我們的訊息只會顯示一次,當我們再次重新整理也面的時候,它就不存在了,而正是這點,它經常被用來顯示一些提示訊息,比如登陸之後,顯示歡迎資訊等

python檔案

# coding:utf-8
from flask import Flask, render_template,flash

app = Flask(__name__)
app.config['SECRET_KEY'] = '12312312313'

flage = True
@app.route('/index')
def index():
    print('已訪問到index')
    #設定閃現資訊
    global flage
    if flage:
        flash('test01')
        flash('test02')
        flash('test03')
        flage = False
    return render_template('flash.html')

if __name__ == '__main__':
    print(app.url_map)  # 檢視所有的路由資訊
    app.run(host='0.0.0.0', port=80, debug=False)  # 通過run()函式將web應用部署到web伺服器並啟動服務

html檔案(flash.html)

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<h1>閃現</h1>
{% for i in get_flashed_messages() %}
    <p>{{i}}</p>
{% endfor %}
</body>
</html>

第一次訪問:http://127.0.0.1/index

第二次訪問:http://127.0.0.1/index

=====分割線======