摘要:模板模板的基本了解準(zhǔn)備工作自身提供了一個(gè)輕量級快速并且靈活的模板語言在模塊中。
Tornado模板
1.模板的基本了解準(zhǔn)備工作
Tornado自身提供了一個(gè)輕量級、快速并且靈活的模板語言在tornado.template模塊中。
模板就是格式固定的網(wǎng)頁:格式是固定的,內(nèi)容是變化的模板是一個(gè)允許嵌入Python代碼片段的HTML文件
在tornado文件夾下新建一個(gè)lesson4文件夾 在該文件夾下新建一個(gè)start1.py文件 先添加一些基本內(nèi)容
然后按下列步驟操作
1、在Application的參數(shù)中添加template_path 配置,指定模板的路徑和靜態(tài)文件的路徑
template_path="templates", static_path="static",
2、在lesson4文件夾下新建template文件夾(用來存放html文件)
在lesson4文件夾下新建static文件夾(用來存放圖片,css,js等靜態(tài)文件)
3、使用render方法渲染模板 添加以下代碼
(r"/",IndexHandler), # 添加路由 class IndexHandler(tornado.web.RequestHandler): def get(self): self.render("index.html")
這段代碼告訴Tornado在templates文件夾下找到一個(gè)名為index.html 的文件,讀取其中的內(nèi)容,并且發(fā)送給瀏覽器
4、在templates文件夾下新建一個(gè)index.html文件
在body中添加下列代碼
hello boys and girls!
運(yùn)行后顯示的結(jié)果
{{ ? }} ? 表達(dá)式用雙大括號(hào)包圍,內(nèi)容可以是任何python表達(dá)式 ,在雙大括號(hào)中的單詞是占位符 {% ? %} ? 模板控制語句以{% ?%}包圍 {# #} 模版注釋格式
雙大括號(hào)中放置變量名或表達(dá)式,變量名與傳入的關(guān)鍵字參數(shù)名要相同
在templates中新建IndexHandler.html
并在這個(gè)文件的body中添加以下代碼
在templates中新建index2.html文件
并在body中加入以下代碼
歡迎用戶 {{ username }}登錄
處理器文件
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的模板處理已經(jīng)十分方便,在{{}}中可以傳入任意的python表達(dá)式:
#為了測試方便,新建一個(gè)簡單的路由 (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!
{{ 10+27 }}
{{ time.time() }}
{{ 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 )
控制語句的大部分就像對應(yīng)的Python語句一樣工作
控制語句的返回以最近的{% end %} 結(jié)束
if條件判斷
{% if condition %} ?????... {% elif condition %} ?????... {% else %} ?????... {% end %}
例子:
{% if username!="no" %} 歡迎用戶 {{ username }} 登錄 {% else %} 您還沒有登錄 {% end %}
for循環(huán)
{% for var in expr %} # 注意在模版中的控制語句都不需要加冒號(hào) ?????... {% end %}
在html文件中的寫法
{% for i in li%} {{ i }}
{% end %}
以上就是模板的基本知識(shí),我們在后面還會(huì)深入學(xué)習(xí)。
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/52044.html
摘要:模板模板的基本了解準(zhǔn)備工作自身提供了一個(gè)輕量級快速并且靈活的模板語言在模塊中。 Tornado模板 1.模板的基本了解 準(zhǔn)備工作 Tornado自身提供了一個(gè)輕量級、快速并且靈活的模板語言在tornado.template模塊中。 模板就是格式固定的網(wǎng)頁:格式是固定的,內(nèi)容是變化的模板是一個(gè)允許嵌入Python代碼片段的HTML文件 在tornado文件夾下新建一個(gè)lesson4文件夾...
摘要:第一次使用在里面寫的時(shí)候我被結(jié)果驚呆了大家知道的偷懶寫法是直接在里面開工但是的模版無情的刪除了所有縮進(jìn)對于和文件來說這就是壓縮打開的一看如果是和結(jié)尾的模版文件渲染就會(huì)默認(rèn)開啟當(dāng)時(shí)很沮喪不過下一秒鐘我們就想到了解決方法把文件名改為不就好了你想 第一次使用在 tornado 里面寫 coffeescript 的時(shí)候, 我被結(jié)果驚呆了. 大家知道 coffeescript 的偷懶寫法是直接...
摘要:清楚了以上流程,我們直接來看函數(shù)主要用作初始化應(yīng)用監(jiān)聽端口以及啟動(dòng)。其中就是保存聊天室所有聊天消息的結(jié)構(gòu)。關(guān)于的解讀我會(huì)放到閱讀源碼時(shí)講。然后把消息加到緩存里,如果緩存大于限制則取最新的條消息。 tornado 源碼自帶了豐富的 demo ,這篇文章主要分析 demo 中的聊天室應(yīng)用: chatdemo 首先看 chatdemo 的目錄結(jié)構(gòu): ├── chatdemo.py ├── ...
摘要:總結(jié)一下與大家分享。我是系統(tǒng),我是通過安裝的。后來導(dǎo)致我執(zhí)行也失敗了,最后將升級了一把,然后卸載,再重新安裝,工作正常了。安裝還有權(quán)限問題,我最后是通過權(quán)限安裝的。 前段時(shí)間一直使用pycharm寫pandas程序,對于大數(shù)據(jù)開發(fā)而言,開發(fā)一般是走一步想一步,pycharm不適合。網(wǎng)上推薦使用jupyter notebook,它是一個(gè)web版的編輯器,原來是IPython的一部分,后來...
閱讀 794·2021-08-23 09:46
閱讀 942·2019-08-30 15:44
閱讀 2599·2019-08-30 13:53
閱讀 3048·2019-08-29 12:48
閱讀 3864·2019-08-26 13:46
閱讀 1793·2019-08-26 13:36
閱讀 3518·2019-08-26 11:46
閱讀 1418·2019-08-26 10:48