有时候需要在模板内部进行赋值,这时候就要用到set
了:
{% set 变量名='值' %}
在index
文件夹下新建myset.html
文件,代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset='UTF-8'>
<title>set赋值</title>
</head>
<body>
{% set name='孟船长' %}
<p>{{ name }}</p>
</body>
</html>
然后我们在app.py
中新建函数:
@app.route('/myset/')def myset():
return flask.render_template('index/myset.html')
执行文件并访问地址.../myset/
可以看到<p>
标签内容打印出来了:
用这种方法赋值,那么整个文件这个变量都是可见的,如果不想因为某个地方的赋值而污染全局变量,我们也可以进行局部赋值:
{% with 变量名='值' %}
...代码块...
{% endwith %}
或者
{% with %}
{% set 变量名='值' %}
...代码块...
{% endwith %}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
{% set name='孟船长' %}
<p>{{ name }}</p>
{% with class='Flask教程' %}
<p>{{ class }}</p>
{% endwith %}
<p>with 外面的{{ class }}</p>
{% with %}
{% set grade='初级' %}
<p>{{ grade }}</p>
{% endwith %}
</body>
</html>
保存一下可以看到页面: