zoukankan      html  css  js  c++  java
  • tornado 学习之GET POST方法 -- (转)

     1 import torndb  
     2 import tornado.web  
     3 import tornado.ioloop  
     4 from tornado.options import define,options,parse_command_line  
     5   
     6 define('port',default=8888,help='run on the port',type=int)  
     7 database=torndb.Connection('localhost','talk',user='root',password='ll')  
     8 l=[]  
     9 class MainHandler(tornado.web.RequestHandler):  
    10     def get(self):  
    11         self.render('a.html',title='haha',items=l)  
    12     def post(self):  
    13         count=1  
    14         print(self.request.remote_ip)  
    15         talk=self.get_argument('talk')  
    16         talk=str(talk)  
    17         database.execute('insert into chatting(id,content) values(%d,"%s")'%(count,talk))  
    18         l.append(talk)  
    19         self.render('a.html',title='haha',items=l)  
    20 def main():  
    21     parse_command_line()  
    22     app=tornado.web.Application(  
    23             [  
    24                 (r'/',MainHandler),  
    25                 ],  
    26             )  
    27   
    28     app.listen(options.port)  
    29     tornado.ioloop.IOLoop.instance().start()  
    30       
    31 if __name__=='__main__':  
    32     main()  

    以上代码是依照demo的风格写了个简单的小例子以说明get和post的方法使用

    a.html的内容如下:

     1 <html>  
     2     <head>  
     3         <title>{{title}}</title>  
     4     </head>  
     5     <body>  
     6         <form name='input' action='/' method='post'>  
     7         talk:  
     8         <input type='text' name='talk'/>  
     9         <input type='submit' value='send'/>  
    10       </form>  
    11         <ul>  
    12             {%for i in items%}  
    13             <li>{{escape(i)}}</li>  
    14             {%end%}  
    15         </ul>  
    16     </body>  
    17 </html>  

    说明: 

    <第一次访问网站时采用get方法,之后由于在html中采用form表单且方法使用的post,所以后来的传递数据全用post方法>

    浏览器打开localhost:8888的时候,发出get请求,请求根目录"/",根据tornado.web.Application中参数列表中元组对(r'/',MainHandler),于是找到MainHandler类,这个类继承了tornado.web.RequestHandler类,但是TA里面没有定义get和post方法(具体可以看源码),所以在MainHandler类中定义。由于我只在用户第一次访问网站时处理get方法,所以就是render a.html 就可以了。之后传递数据全用post方法,并把网页上输入的数据存放到数据库中。

     浏览器显示如下:

    数据库中显示如下:

    终端显示如下:

  • 相关阅读:
    Spring MVC视图层:thymeleaf vs. JSP
    Guava学习笔记:Google Guava 类库简介
    Hibernate与 MyBatis的比较
    SpringMVC与Struts2区别与比较总结
    Springmvc中@RequestParam传值中文乱码解决方案
    HQL和Criteria
    Struts2的select使用
    Spring AOP原理及拦截器
    hibernate:inverse、cascade,一对多、多对多详解
    mysql中索引利用情况(explain用法)
  • 原文地址:https://www.cnblogs.com/fendou-999/p/3822305.html
Copyright © 2011-2022 走看看