Tornado模板css
准备工做html
Tornado自身提供了一个轻量级、快速而且灵活的模板语言在tornado.template模块中。python
模板就是格式固定的网页:格式是固定的,内容是变化的模板是一个容许嵌入Python代码片断的HTML文件web
在tornado文件夹下新建一个lesson4文件夹 在该文件夹下新建一个start1.py文件 先添加一些基本内容
而后按下列步骤操做
一、在Application的参数中添加template_path 配置,指定模板的路径和静态文件的路径浏览器
template_path='templates', static_path='static',
二、在lesson4文件夹下新建template文件夹(用来存放html文件)
在lesson4文件夹下新建static文件夹(用来存放图片,css,js等静态文件)less
三、使用render方法渲染模板 添加如下代码函数
(r'/',IndexHandler), # 添加路由 class IndexHandler(tornado.web.RequestHandler): def get(self): self.render('index.html')
这段代码告诉Tornado在templates文件夹下找到一个名为index.html 的文件,读取其中的内容,而且发送给浏览器tornado
四、在templates文件夹下新建一个index.html文件
在body中添加下列代码post
hello boys and girls!
运行后显示的结果学习
{{ }} 表达式用双大括号包围,内容能够是任何python表达式 ,在双大括号中的单词是占位符 {% %} 模板控制语句以{% %}包围 {# #} 模版注释格式
双大括号中放置变量名或表达式,变量名与传入的关键字参数名要相同
在templates中新建IndexHandler.html
并在这个文件的body中添加如下代码
<form method="post" action="/html"> <p>用户名<br><input type="text" name="name"></p> <p>密码<br><input type="text" name="password"></p> <input type="submit"> </form>
在templates中新建index2.html文件
并在body中加入如下代码
<b>欢迎用户 {{ username }}登陆</b>
处理器文件
class IndexHandler(tornado.web.RequestHandler): def get(self): self.render('index1.html') def post(self): username = self.get_argument('name','no') self.render('index2.html',username=username)
tornado的模板处理已经十分方便,在{{}}中能够传入任意的python表达式:
#为了测试方便,新建一个简单的路由 (r'/temp',TempHandler), class TempHandler(tornado.web.RequestHandler): def get(self): username = self.get_argument('name','no') self.render('temp.html',username=username)
接下来咱们在index.html文件中添加如下代码
hello boys and girls!<br> <!--传入一个表达式--> {{ 10+27 }} <br> {{ time.time() }} <!--能够执行函数--> <br> {{ haha() }} <!--自定义的函数也能够传入-->
在start1.py中的TempHandler中添加如下代码
def haha(self): return '这里是tornado' def get(self): username = self.get_argument('name','no') import time li = ['a','b','c','d'] self.render('index.html', username=username, time=time, haha=self.haha, li=li )
控制语句的大部分就像对应的Python语句同样工做
控制语句的返回以最近的{% end %} 结束
if条件判断
{% if condition %} ... {% elif condition %} ... {% else %} ... {% end %}
例子:
{% if username!='no' %} 欢迎用户 {{ username }} 登陆 {% else %} 您尚未登陆 {% end %}
for循环
{% for var in expr %} # 注意在模版中的控制语句都不须要加冒号 ... {% end %}
在html文件中的写法
<br> {% for i in li%} {{ i }} <br> {% end %}
以上就是模板的基本知识,咱们在后面还会深刻学习。