溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Python Tornado

發(fā)布時(shí)間:2020-09-23 19:40:53 來(lái)源:網(wǎng)絡(luò) 閱讀:268 作者:JerryBHuang 欄目:編程語(yǔ)言

你真的了解Tornado嗎?

一、先安裝

pip3 install tornado

二、小試牛刀

from tornado.web import Application
from tornado.web import RequestHandler
from tornado.ioloop import IOLoop

class MainHandler(RequestHandler):
    def get(self, *args, **kwargs):
        self.write("Hello World")

app = Application([
    (r"/", MainHandler),
])

if __name__ == '__main__':
    app.listen("5000")
    print("http://127.0.0.1:5000")
    IOLoop.instance().start()

三、路由配置

application = tornado.web.Application([
    (r"/index", MainHandler),
    (r"/story/([0-9]+)", StoryHandler), # 帶了參數(shù),需要在你的請(qǐng)求函數(shù)中寫(xiě)參數(shù)
])

application = tornado.web.Application([
    (r"/index", MainHandler),

])
application.add_handlers(r"asdfasdf.org$",[ # 牛逼的綁定域名
(r'index/1.html/',MainHandler,),])

四、模板的那些事
在tornado.web.RequestHandler里面已經(jīng)給你寫(xiě)好了一個(gè)render方法,你可以在本地寫(xiě)一個(gè)模板,然后用父類的方法去返回。
模板語(yǔ)言,也就是views.py給模板語(yǔ)言的傳值,是通過(guò)render后面的{'k1':'v1'}傳數(shù)據(jù),或者用內(nèi)置的方法。內(nèi)置方法是用{% %}包裹起來(lái)的,而顯示傳來(lái)的數(shù)據(jù)要用{{ }}。但是,學(xué)過(guò)其他語(yǔ)言框架的人知道,如果用for循環(huán)的話,是用{% endfor %}來(lái)結(jié)束的。但在TORNADO里注意了!你要用{% end %}結(jié)束。if也是一樣的!
如果要傳數(shù)據(jù)的話,就加字典。
self.render('layout.html',{"k1":'v1'})
如果在后臺(tái)拿數(shù)據(jù)的話,就用{{k1}}來(lái)找到。
好了,今天就講到這,給大家留個(gè)作業(yè):
登錄系統(tǒng):

  1. 漂亮,好看的頁(yè)面
  2. 登錄成功到http://www.baidu.com里。
    作業(yè)小提示:
    如果要post請(qǐng)求,就用post函數(shù)。
    如果要設(shè)置靜態(tài)文件和模板,用settings字典完成,在Application寫(xiě)**settings.
向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI