## **在`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']}}
~~~