正在加载...

tornado-5 views

许久没有写技术blog了。之前的tornado没有写完,把这个债给还了吧

tornado的templates就是MVC中的V,即:views

对于页面上常用的tag,基本上和django一样。

最大的差距就是所有的都是end结尾。不像django的endif等等

具体如下:

常用tag

{% if %} {% elif %} {% else %} {% end %}

比django的好,django没有elif

{% block %} {% end %}

配合extend来使用,和django的一样

{% extend %}

和django的一样,表继承

{% for %} {% end %}

和django一样,表循环

{% set name='poy' %}

设置一个变量 name = 'poy', 这个对于一些navgation的高亮很有帮助。

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