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 %}
以上就是模板的基本知識,咱們在後面還會深刻學習。