服务端代码:
'''
前面我们在模板中使用的{{ name }} 结构表示一个变量,它是一种特殊的占位符,告诉模
板引擎这个位置的值从渲染模板时使用的数据中获取。
除了单单使用变量之外,我们还可以对变量进行一些额外的操作,譬如,让变量的值全部大写,或者是首字母大写,等等。这种改变变量值的行为叫做过滤器。
'''
#coding:utf-8
from flask import Flask, render_template
app = Flask(__name__)
class UserModel(object):
'''对象类型'''
name = '张珊'
age = 45
def __str__(self):
return "%s-%s" % (self.name, self.age)
@app.route('/')
def index():
'''访问首页'''
var_str = '这是后端传过来的一个字符串'
var_str_en = 'this is a string'
var_html = "<span style='color:#f00;'>这是一个HTML字符串</span>"
var_list = ['name','1234','元素3']
var_tuple = ("laowang","tantianran","dengwenqing")
var_dict = {"key1":"value1","name":"tanzhenxing"}
var_user = UserModel()
return render_template("var_index.html",
var_str = var_str,
var_str_en = var_str_en,
var_html = var_html,
var_list = var_list,
var_tuple = var_tuple,
var_dict = var_dict,
var_user = var_user
)
if __name__ == '__main__':
app.run(debug=True)
前端代码:
对应上面后端代码的前端HTML文件(var_index.html)代码:
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>模板变量</title>
<link rel="stylesheet" type="text/css" href="">
</head>
<body>
<h2>字符串</h2>
{{ var_str }} <br />
<!-- jinjia过滤器 将英文字符串变成大写-->
{{ var_str_en|upper }} <br />
<!-- jinjia过滤器 应用HTML语法-->
{{ var_html|safe }}
<h2>列表</h2>
{{ var_list }}
<h2>元组</h2>
{{ var_tuple }}
<h2>字典</h2>
{{ var_dict }}
<h2>对象</h2>
{{ var_user }}
</body>
</html>