一、关于模板中符合的使用

  • 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') }}">