成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

Tornado-05、tornado模版

dreamGong / 1636人閱讀

摘要:模板模板的基本了解準(zhǔn)備工作自身提供了一個輕量級快速并且靈活的模板語言在模塊中。

Tornado模板

1.模板的基本了解

準(zhǔn)備工作

Tornado自身提供了一個輕量級、快速并且靈活的模板語言在tornado.template模塊中。

模板就是格式固定的網(wǎng)頁:格式是固定的,內(nèi)容是變化的模板是一個允許嵌入Python代碼片段的HTML文件

在tornado文件夾下新建一個lesson4文件夾 在該文件夾下新建一個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文件夾下找到一個名為index.html 的文件,讀取其中的內(nèi)容,并且發(fā)送給瀏覽器

4、在templates文件夾下新建一個index.html文件
在body中添加下列代碼

hello boys and girls!

運行后顯示的結(jié)果


2.模板中的符號
{{ ? }} ? 表達式用雙大括號包圍,內(nèi)容可以是任何python表達式 ,在雙大括號中的單詞是占位符
{% ? %} ? 模板控制語句以{% ?%}包圍
{# #} 模版注釋格式

雙大括號中放置變量名或表達式,變量名與傳入的關(guān)鍵字參數(shù)名要相同
在templates中新建IndexHandler.html
并在這個文件的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表達式:

#為了測試方便,新建一個簡單的路由
(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
                    )


3.控制語句

控制語句的大部分就像對應(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 %}  # 注意在模版中的控制語句都不需要加冒號
?????...
{% end %}

在html文件中的寫法


{% for i in li%} {{ i }}
{% end %}

以上就是模板的基本知識,我們在后面還會深入學(xué)習(xí)。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/52044.html

相關(guān)文章

  • Tornado-05、tornado模版

    摘要:模板模板的基本了解準(zhǔn)備工作自身提供了一個輕量級快速并且靈活的模板語言在模塊中。 Tornado模板 1.模板的基本了解 準(zhǔn)備工作 Tornado自身提供了一個輕量級、快速并且靈活的模板語言在tornado.template模塊中。 模板就是格式固定的網(wǎng)頁:格式是固定的,內(nèi)容是變化的模板是一個允許嵌入Python代碼片段的HTML文件 在tornado文件夾下新建一個lesson4文件夾...

    ccj659 評論0 收藏0
  • tornado template默認(rèn)壓縮空白字符導(dǎo)致coffee無法正確縮進

    摘要:第一次使用在里面寫的時候我被結(jié)果驚呆了大家知道的偷懶寫法是直接在里面開工但是的模版無情的刪除了所有縮進對于和文件來說這就是壓縮打開的一看如果是和結(jié)尾的模版文件渲染就會默認(rèn)開啟當(dāng)時很沮喪不過下一秒鐘我們就想到了解決方法把文件名改為不就好了你想 第一次使用在 tornado 里面寫 coffeescript 的時候, 我被結(jié)果驚呆了. 大家知道 coffeescript 的偷懶寫法是直接...

    BicycleWarrior 評論0 收藏0
  • Tornado Demo 之 chatdemo 不完全解讀

    摘要:清楚了以上流程,我們直接來看函數(shù)主要用作初始化應(yīng)用監(jiān)聽端口以及啟動。其中就是保存聊天室所有聊天消息的結(jié)構(gòu)。關(guān)于的解讀我會放到閱讀源碼時講。然后把消息加到緩存里,如果緩存大于限制則取最新的條消息。 tornado 源碼自帶了豐富的 demo ,這篇文章主要分析 demo 中的聊天室應(yīng)用: chatdemo 首先看 chatdemo 的目錄結(jié)構(gòu): ├── chatdemo.py ├── ...

    TesterHome 評論0 收藏0
  • jupyter安裝總結(jié)

    摘要:總結(jié)一下與大家分享。我是系統(tǒng),我是通過安裝的。后來導(dǎo)致我執(zhí)行也失敗了,最后將升級了一把,然后卸載,再重新安裝,工作正常了。安裝還有權(quán)限問題,我最后是通過權(quán)限安裝的。 前段時間一直使用pycharm寫pandas程序,對于大數(shù)據(jù)開發(fā)而言,開發(fā)一般是走一步想一步,pycharm不適合。網(wǎng)上推薦使用jupyter notebook,它是一個web版的編輯器,原來是IPython的一部分,后來...

    dcr309duan 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<