python學習筆記——flask之渲染模板(Jinja2)-特殊變數和方法
阿新 • • 發佈:2021-03-10
在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
=====分割線======