tornado 4、模板使用

    xiaoxiao2026-08-13  8

    一.定义模板地址

    首先我们需要定义一下模板所在地址,让tornado知道去哪里找模板,一般我们把地址写在入口文件中,详情可以看《tornado 1. 项目结构初入》。下列代码static_path的值就是模板的地址。

    settings = { template_path=os.path.join(os.path.dirname(__file__),"template"), 'debug' : True, }

    二.传递参数到模板中

    当我们在handler处理好数据后,就可以把数据传递到相应的模板中去。

    class MainHandler(tornado.web.RequestHandler): def com(a): return a def post(self): number = self.get_argument('num') self.render('main.html', quantity=number,com=com())

    上述代码中渲染模板路径下的main.html模板,其中的变量number的值传递到模板中去,在模板中我们可以使用quantity的获取变量值。你甚至可以将一个函数传到模板中去,如上面com()函数

    三.填充及控制语句

    在main.html文件中填充变量,可以使用下列方式获取值:

    {{ quantity }} {{ com(1) }}

    同时tornado还支持一些简单的控制语句:

    {%if 或者 for %} ... 这里是各种表达式 {%end%}

    Tornado在所有模板中默认提供了一些便利的函数。它们包括:

    escape(s):替换字符串s中的&、<、>为他们对应的HTML字符。url_escape(s):使用urllib.quote_plus替换字符串s中的字符为URL编码形式。json_encode(val):将val编码成JSON格式。(在系统底层,这是一个对json库的dumps函数的调用。查阅相关的文档以获得更多关于该函数接收和返回参数的信息。)squeeze(s):过滤字符串s,把连续的多个空白字符替换成一个空格。

    三.其他

    在模板中设置变量:

    {%set str='xxxx'%} 使用:{{str}}

    模板转义:转义是为了防止你的访客进行恶意攻击的,但当你不希望转移时,可以使用raw来阻止对变量转义。

    {% raw mail %}
    转载请注明原文地址: https://ju.6miu.com/read-1311140.html
    最新回复(0)