一、关于模板中符合的使用
- 1、{{}}双大括号,内容可以是任何的python表达式(变量常见)
- 2、{%%}模板中的控制语句放在{%%}中
二、关于{{}}的使用
-
1、传递变量
class IndexHandler(tornado.web.RequestHandler): def get(self): name = u'张三' age = 20 self.render("template-demo.html",name=name,age=age)
<p>{{ name }}</p> <p>{{ age }}</p>
-
2、一般不会一个一个参数传递的,直接传递一个对象
class IndexHandler(tornado.web.RequestHandler): def get(self): resultDate = { 'name':u'张三', 'age':20 } self.render("template-demo.html",**resultDate)
-
3、在{{}}中使用表达式
<p>{{ 1+2 }}</p>
-
4、在{{}}使用函数
class IndexHandler(tornado.web.RequestHandler): def foo(self): return u'我是函数' def get(self): resultDate = { 'name':u'张三', 'age':20, 'foo':self.foo } self.render("template-demo.html",**resultDate)
<p>{{ name }}</p> <p>{{ age }}</p> <p>{{ 1+2 }}</p> <p>{{ foo() }}</p>
三、关于{% %}的使用
-
1、模板的控制语句(注意要结束语句)
{% if age > 20 %} ... {% elif %} ... {% else %} ... {% end %}
-
2、模板中使用for语句
{% for item in list1 %} {% end %}
class IndexHandler(tornado.web.RequestHandler): def get(self): resultDate = { 'names':[u'张三',u'李四',u'王五'], 'urls':[ ('https://www.hao123.com/','hao123'), ('http://www.sina.com.cn/','新浪') ] } self.render("template-demo.html",**resultDate)
{% for item in names %} <p>{{ item }}</p> {% end %} {% for url in urls %} <p><a href="{{ url[0] }}">{{ url[1] }}</a> </p> {% end %}
四、使用static_url加载静态文件
<link rel="stylesheet" href="{{ static_url('xxx/xx.css') }}">