Tornado开发(二)— 网页模板

本文介绍了Tornado框架中的网页模板使用,包括模板位置、动态内容定义、表达式、控制符、UI元素复用等。Tornado模板通过{{}}表示表达式,{%%}表示控制符,并提供了if、for、while等控制结构。UI复用可通过block/extends实现继承,通过module实现包含。同时,文章展示了模块化UI元素的创建与引用方法。
摘要由CSDN通过智能技术生成

四. 网页模板

最终呈现给用户的html页面,一般是由静态信息与动态信息合成的,静态信息与用户等应用环境无关,动态信息则与用户、场景相关,多是从数据库中取得数据后加工得到的。在tornado中,保存在服务器端的包含动态信息的文件叫模板(template),模板文件被request handler载入并处理,即替换其中的动态信息,变成符合要求的html文档发给客户。

Tornado 会把模板文件编译成原生的 Python 脚本,然后在渲染视图的时候执行它,这包含几个问题:模板文件的位置组织;动态内容的定义与解析;UI内容的复用;文字国际化等。

1.       Handler如何找到template

Application的配置中有template_path一项,指明template的位置,Handler载入时就按照这个配置。如果某一页的位置比较特殊,也可以重写RequestHandler.get_template_path方法指明template的位置。

 2.       Template中动态内容的定义

在静态内容中插入动态内容,需要定义两类东西:表达式和控制符。在tornado中,表达式由{ {}}包裹起来,放在模板中起到占位符的作用,解析时,该表达式被解析并被相应的结果所替代。控制符由{%%}所包裹起来,起到控制效果。一个简单的模板文件如下(template.html):

{#This is a demo template#}
<html>
   <head>
      <title>{
  { title }}</title>
   </head>
   <body>
     <ul>
       {% for item in items %}
         <li>{
  { escape(item) }}</li>
       {% end %}
     </ul>
   </body>
 </html>

与该文本对应的python代码如下:

  • 3
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值