当前位置: 首页 > Web前端 > HTML

Tornado-05、tornado模板

时间:2023-04-02 21:12:26 HTML

Tornado模板一、模板的基本认识准备工作Tornado本身在tornado.template模块中提供了一种轻量级、快速、灵活的模板语言。模板是具有固定格式的网页:格式是固定的,但内容是可变的。模板是允许嵌入Python代码片段的HTML文件。在tornado文件夹下创建一个lesson4文件夹。在该文件夹下创建一个start1.py文件。先添加吧。一些基本的内容然后按照下面的步骤1.在Application参数中添加template_path配置,指定模板的路径和静态文件的路径template_path='templates',static_path='static',2.新建一个lesson4文件夹下的template文件文件夹(用于存放html文件)在lesson4文件夹下新建一个static文件夹(用于存放图片、css、js等静态文件)3.使用render方法渲染模板添加以下内容code(r'/',IndexHandler),#添加路由类IndexHandler(tornado.web.RequestHandler):defget(self):self.render('index.html')这段代码告诉Tornado找到一个名为index的文件。templates文件夹下的html,读取里面的Content,发送给浏览器4.在templates文件夹下新建index.html文件,在body中添加如下代码helloboysandgirls!运行后显示的结果2.模板中的符号{{}}表达式双大括号括起来,内容可以是任意python表达式,双大括号中的文字为占位符{%%}模板控制语句用{%括起来%}{##}模板注释格式放在双大括号中变量名或表达式,变量名必须与传入的关键字参数名相同在模板中新建一个IndexHandler.html,并在该文件正文中添加如下代码

用户名

密码

<inputtype="submit">在templates中新建一个index2.html文件,在body中加入如下代码欢迎用户{{username}}登录Processor文件类IndexHandler(tornado.web.RequestHandler):defget(self):self.render('index1.html')defpost(self):username=self.get_argument('name','no')self.render('index2.html',username=username)tornado的模板处理很方便,传入任意python表达式{{}}:#为了测试方便,新建一个简单路由(r'/temp',TempHandler),classTempHandler(tornado.web.RequestHandler):defget(self):username=self.get_argument('name','no')self.render('temp.html',username=username)接下来我们在索引.html在文件helloboysandgirls!
{{10+27}}
{{time.time()}}
{{haha??()}}在start1.py中的TempHandler中添加如下代码defhaha??(self):return'这里是龙卷风'defget(self):username=self.get_argument('name','no')importtimeli=['a','b','c','d']self.render('index.html',username=username,time=time,haha??=self.haha,li=li)3.控制语句大多数控制语句的工作方式与相应的Python语句相同返回最近的{%end%}结束if条件判断{%ifcondition%}...{%elifcondition%}...{%else%}...{%end%}例子:{%ifusername!='no'%}Welcomeuser{{username}}Login{%else%}你还没有登录{%end%}forloop{%forvarinexpr%}#注意模板中不需要控制语句添加一个冒号...{%end%}inthehtmlfile
{%foriinli%}{{i}}
{%end%}以上是模板的基础知识,我们将跟随将了解更多