tornado的templates就是MVC中的V,即:viewshtml
对于页面上经常使用的tag,基本上和django同样。python
最大的差距就是全部的都是end结尾。不像django的endif等等django
具体以下:tornado
经常使用tagspa
{% if %} {% elif %} {% else %} {% end %}
比django的好,django没有
elif
code
{% block %} {% end %}
配合extend来使用,和django的同样htm
{% extend %}
和django的同样,表继承继承
{% for %} {% end %}
和django同样,表循环io
{% set name='poy' %}
设置一个变量 name = 'poy', 这个对于一些navgation的高亮颇有帮助。function
python代码
对于django而言,tornado最好的地方就是容许在view里面写python的代码,而不像django里面只能是filter
例如:
{{ 'POY'.lower() }}
而对于django的filter,tornado能够直接在controller render 一个template的的时候把相应的function以key-value的方式传过来,这样就能够直接使用了。
例如:
controller.py
return self.render('test.html', hello = lambda name: 'hello, %s' % name)
test.html
{{ hello('pengyi') }}
注: controller.py表示handlers(tornado)/views(django)