模板引擎可以将index.py文件中的数据导入html,它的使用主要有一下几种方式:
一、{{ }} 直接引入值或表达式
二、{% %} 引入代码块
三、{{ func(args) }} 调用自定义函数
四、{% module class() %} 调用自定义类
无论哪一种方式,模板引擎的本质:先进行字符串的拼接、再使用compile和exec编译成代码执行,
# 模板引擎的本质 namespace = {'name':'wupeiq','data':[18,73,84]} # 1、进行字符串拼接 code = '''def hellocute():return "name %s , age %d " %( name , data[0] ,)''' # 2、字符串按exec方式进行编译成函数 func = compile(code,'<string>',"exec") # 3、将函数添加至全局变量 exec(func,namespace) # 这一步含义相当于:把namespace看作含有全局变量的终端,在终端上添加可执行函数func, # namespace={'name':'wupeiq','data':[18,73,84],'hellocute':func)} # 4、执行函数 result = namespace['hellocute']() print(result) # output:name wupeiq , age 18
注意:tornado服务器通过self.render()向html传递数据,服务器还通过self.write()直接向服务器传递数据;
浙公网安备 33010602011771号