Flask开发(八)Jinja2模板 set和with语句的使用

内容纲要

本篇导读:

  • set语句定义全局变量
  • with定义局部变量

set和with语句都可以在Jinja2中定义变量并赋值。set定义的变量在整个模板范围内有效,with关键字在定义变量并赋值的同时,限制了with定义变量的作用范围。

首先介绍一下set关键字的使用方法:

  • 给变量赋值:

{% set telephone = '13888888888' %}

  • 给列表或数组赋值:

{% set nav = [('index.html','index'),('product.html','product')] %}

可以在模板中使用{{ telephone }}和{{ nav }}来引用这些定义的变量。

接下来介绍with关键字的用法,例如:

{% with pass = 60 %}
{{ pass }}
{% endwith %}

with定义的变量的作用范围在{% with %}和{% endwith %}代码块内,在模板的其他地方,引用此变量值无效。

在templates文件夹下创建index.html文件,其代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
{% set telephone = '13888888888' %}
{% set nav = [('index.html','index'),('product.html','product')] %}
{{ telephone }}<br>
{{ nav }}<br>
{% with pass = 60 %}
{{ pass }}
{% endwith %}
</body>
</html>

app.py文件内容如下:

from flask import Flask,render_template

app = Flask(__name__)


@app.route('/')
def hello_world():
    return render_template('index.html')


if __name__ == '__main__':
    app.run()

运行程序,并访问http://127.0.0.1:5000/,其结果如下:

阅读剩余
THE END