Python Tornado

2020-01-15 11:15:33 浏览数 (1)

你真的了解Tornado吗?

一、先安装

代码语言:javascript复制
pip3 install tornado

二、小试牛刀

代码语言:javascript复制
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()

三、路由配置

代码语言:javascript复制
application = tornado.web.Application([
    (r"/index", MainHandler),
    (r"/story/([0-9] )", StoryHandler), # 带了参数,需要在你的请求函数中写参数
])

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

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

四、模板的那些事 在tornado.web.RequestHandler里面已经给你写好了一个render方法,你可以在本地写一个模板,然后用父类的方法去返回。 模板语言,也就是views.py给模板语言的传值,是通过render后面的{'k1':'v1'}传数据,或者用内置的方法。内置方法是用{% %}包裹起来的,而显示传来的数据要用{{ }}。但是,学过其他语言框架的人知道,如果用for循环的话,是用{% endfor %}来结束的。但在TORNADO里注意了!你要用{% end %}结束。if也是一样的! 如果要传数据的话,就加字典。 self.render('layout.html',{"k1":'v1'}) 如果在后台拿数据的话,就用{{k1}}来找到。 好了,今天就讲到这,给大家留个作业: 登录系统:

  1. 漂亮,好看的页面
  2. 登录成功到http://www.baidu.com里。 作业小提示: 如果要post请求,就用post函数。 如果要设置静态文件和模板,用settings字典完成,在Application写**settings.

0 人点赞