## **在`hello.html`模板文件中使用:**
~~~
// 定義輸出數據
@app.route('/')
def index():
# 往模板中傳入的數據
name = "Hello Word"
info = {
"name": "xiaoming",
"age": 18
}
return render_template("hello.htm", name=name, info=info)
// 在模板中使用
<p>{{ name }}</p>
~~~
<br/>
## **g變量 (傳遞值)**
~~~
// 可以在視圖函數中直接賦值變量屬性,并且不需要通過`render_template`傳值
from flask import g, render_template \
@app.route('/')
def index():
g.num = 10
return render_template('index.html')
// 模板中使用
{{g.num}}
~~~
<br/>
## **url_for() (跳轉url)**
~~~
// 根據傳入的視圖函數名,跳轉到對應的`url`
{{url_for('index'), id=10}} // 帶參數的傳值
~~~
<br/>
## **flash 閃一下 (消息傳遞)**
~~~
// 使用到session,所以要添加secret_key
from flask import Flask, render_template, flash
app = Flask(__name__)
app.secret_key = '$%^&*(IOP{'
app.config['SECRET_KEY'] = '#$%^&*()'
@app.route('/login')
def login():
flash('這是一條信息')
return render_template('login.html')
if __name__ == '__main__':
print(app.url_map)
app.run(port=5001, debug=True)
~~~
<br/>
## **系統變量**
~~~
// 可以從模板中直接訪問`Flask`中的`config`對象
{{config}}
// 在模板中直接訪問請求的`request`對象
{{request.url}}
{{request.method}}
{{request.headers}}
// 在模板中直接訪問`session`對象
{{session.cookies['name']}}
~~~