Python示例代码之使用Tornado框架

本文介绍如何使用Tornado Web服务器框架创建一个支持GET和POST请求的简单登录服务。通过Python编写服务端代码,配合HTML客户端代码,实现用户登录验证功能。

      Tornado是一款Web 服务器框架,它的特点是非阻塞式的,我们的简单使用方法如下。

      1.安装Tornado框架。

     2. 使用python编写tornado服务端代码。

import tornado.ioloop
import tornado.web

class MainHandler(tornado.web.RequestHandler):
    def chk_valid(self, u, p):
        if u == 'wang' and p == '123':
            self.write("Welcome back!")
        else:
            self.write("Sorry, please try again!")

    def get(self):
        self.chk_valid(self.get_argument('user'), self.get_argument('pwd'))

    def post(self, *args, **kwargs):
        self.chk_valid(self.get_argument('user', None), self.get_argument('pwd', None))

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

if __name__ == "__main__":
    application.listen(8181)
    tornado.ioloop.IOLoop.instance().start()

      这段代码的执行步骤:

      1)创建一个Application对象,并把一个正则表达式'/'和类名MainHandler传入构造函数:tornado.web.Application(...)  
      2)执行Application对象的listen(...)方法,即:application.listen(8181)
      3)执行IOLoop类的类的 start() 方法,即:tornado.ioloop.IOLoop.instance().start()

      至此,一个支持可以响应GET和POST的用户登录的服务器就创建成功了。

       2. 使用html编写客户端代码。

<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<h1>Example GET</h1>
<form action="http://127.0.0.1:8181/index" method="GET">
    <input type="text" name="user"/>
    <input type="password" name="pwd"/>
    <input type="submit" value="登录"/>
</form>
<h1>Example POST</h1>
<form action="http://127.0.0.1:8181/index" method="POST">
    <input type="text" name="user"/>
    <input type="password" name="pwd"/>
    <input type="submit" value="登录"/>
</form>
</body>
</html>

      在此,我们特意编写了GET和POST的例子,两种方法均能实现想要的功能,最直观的区别就是GET把参数包含在URL中,POST通过request body传递参数。

      运行时,在界面上输入wang和123,则提示登录成功,否则提示登录失败。

      至此,例子演示结束,后续功能,请继续发掘去吧!

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值