【tornado】9.模板

配置模板路径

在config.py的settings中配置templates_path:

import os
BASE_DIR=os.path.dirname(__file__)

# 参数
options={
    "port":6578
}

# 配置
settings={
    "debug":False,
    "static_path":os.path.join(BASE_DIR,"static"),
    "template_path":os.path.join(BASE_DIR,"templates")
}

渲染并返回给客户端

渲染就是向客户端显示一个html页面:

self.render("xxx.html")

变量与表达式

增加一个渲染的页面路由render:

from views.index import IndexHandler,HomeHandler,RenderHandler
import tornado.web
import config

class Application(tornado.web.Application):
    def __init__(self):
        handlers=[
            (r'/',IndexHandler),
            (r'/home',HomeHandler),
            (r'/render',RenderHandler)
        ]
        super(Application,self).__init__(handlers,**config.settings)

编写一下render的页面代码RenderHandler:

class RenderHandler(RequestHandler):
    def get(self, *args, **kwargs):
        tmp=100
        per={
            "name":"user",
            "height":175
        }
        self.render("render.html",num=tmp,per=per)

这里我们定义了一个变量tmp,设它的值为100
然后定义了一个字典,包含一个人的名字和身高
将这两个变量传到render.html的页面中,其中render.html的页面代码为:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>render file</title>
</head>
<body>
这是一个渲染页面<br>
这里有一个页面传递过来的变量值:num={{num}}<br>
num的值再加10的话就是:{{num+10}}<br>
这个人的名字是:{{per["name"]}}

</body>
</html>

在浏览器中输入: http://localhost:6578/render 显示为:
在这里插入图片描述



流程控制

主要涉及到if for while语句的使用,首先添加一下流程控制的页面处理类:

class FlowControlHandler(RequestHandler):
    def get(self, *args, **kwargs):
        flag=1
        persons=[
            {"name":"A","hobby":"hobby1"},
            {"name":"B","hobby":"hobby2"}
        ]
        self.render("render.html",flag=flag,persons=persons)

将参数flag和persons传入到render.html页面中,render.html的代码为:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>render file</title>
</head>
<body>
if控制语句:
{%if flag==1%}
sentence1
{%end%}
<br>

control控制语句:
<ul>
{%for per in persons%}
    <li>{{per['name']}}</li>
{%end%}
</ul>
<br>
</body>
</html>

在浏览器中输入:http://localhost:6578/render 运行的结果为:
在这里插入图片描述



函数

static_url:用于加载css和js文件
自定义函数

转义

“autoescape”:None   关闭当前项目的自动转义
escape()函数:在关闭当前项目的自动转义时,对特定变量进行转义

继承
静态文件

static_path:
静态文件目录

StaticFileHandler:
提供静态资源

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值