手记

tornado 实现简单的登入

目标要求:

  1. 实现用户登入

  2. 使用render 实现路由跳转到html 登入界面,使用get_argument获取第一个值

  3. 使用到get 和post 请求方法

  4. 返回最后结果:欢迎某某登入

代码思路:

第一步:搭好整体框架

import  tornado.ioloop
import  tornado.web
import tornado.options   #让模块有自定义的模块
from tornado.options import define,options
import tornado.httpserver  #启动单线程的http服务

define('port',default=8080, help='run port', type=int)  #help

实现MainHandler类(目标)待完成
def make_app():
    return tornado.web.Application(
        handlers = [
        (r"/main", MainHandler)
    ],
    template_path = 'templates',
    debug= True
    )

if __name__=='__main__':
    tornado.options.parse_command_line()   #sys.argv
    app = make_app()
    http_server = tornado.httpserver.HTTPServer(app)
    http_server.listen(options.port)
    tornado.ioloop.IOLoop.instance().start()

第二步:在templates 目录下建立2个html,一个是实现登入的界面,一个是实现返回的界面

登入

返回使用到tornado模板表达式

template_path = 'templates',这个是固定的格式,templates目录也是固定的

第三步:

实现MainHandler类

class MainHandler(tornado.web.RequestHandler):
   def get(self):
       self.render('test.html')
   def post(self, *args, **kwargs):
       name = self.get_argument('name', 'OK')
       self.render('test_02.html',username = name)


第四步运行结果:

完成


附加:

模板局部去掉转义raw

全体去掉转义在html上面添加{% autoescape None %}

如果需要局部转义{{ escape(test)}}

0人推荐
随时随地看视频
慕课网APP

热门评论

你好,我想问一下post里面的参数是什么?

查看全部评论