你真的了解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}}来找到。
好了,今天就讲到这,给大家留个作业:
登录系统:
- 漂亮,好看的页面
- 登录成功到http://www.baidu.com里。 作业小提示: 如果要post请求,就用post函数。 如果要设置静态文件和模板,用settings字典完成,在Application写**settings.