tornado-输入
获取输入的信息:
*** get_argument get_arguments 兼顾以下两种常用
能从url中获取 ?name=xiaoming
能从body中获取 form表单
get_query_argument # 获取查询字符串(url)
get_query_arguments
get_body_argument # 获取body
get_body_arguments
url传参
1.查询字符串风格(?name=xx,age=xx)
2.REST风格(正则)
def get(self,name,age): 三个参数,加上name age
self.write("name:%s<br>age:%s" %(name,age))
按位置顺序传参
(r"/user/(.+)/([0-9]+)" 127.0.0.1/8000/user/ming/18
按变量名传参 取名 ?P<>
(r"/user1/(?P<age>[0-9]+)/(?P<name>.+)" 127.0.0.1/8000/user1/18/ming
import tornado.ioloop
import tornado.web
import tornado.httpserver # 非阻塞
import tornado.options # 提供了多种选择 python xxx.py --port=xxxx
from tornado.options import define,options
define('port',default=8000,help='run port',type=int) # windows通过Ctrl+鼠标左键
define('version',default=0.1,help='version',type=str) class UserHandler(tornado.web.RequestHandler):
def get(self,name,age):
self.write("name:%s<br>age:%s" %(name,age)) application = tornado.web.Application(
handlers=[ # 列表按顺序匹配
(r"/user/(.+)/([0-9]+)",UserHandler),
(r"/user1/(?P<age>[0-9]+)/(?P<name>.+)",UserHandler) # ?P<>取名
],
template_path='templates', # 表明页面html的路径
debug=True # 上传代码后服务器自动重启
) if __name__ == '__main__':
tornado.options.parse_command_line() # 通过sys.arg获取命令行输入参数(python xxx.py --port=xxx)
print(options.port)
print(options.version)
http_server = tornado.httpserver.HTTPServer(application) # 非阻塞
application.listen(options.port)
tornado.ioloop.IOLoop.instance().start() # 启动io循环
tornado-输入的更多相关文章
- tornado输入-get_query_argument()等 笔记
最外面的代码结构 import tornado.web import tornado.ioloop import tornado.options import tornado.httpserver f ...
- tornado当用户输入的URL无效时转入设定的页面
今天做web的测验..坑爹的要用tornado...作为一个比较新的用的人还不多的东东...查资料好麻烦.. 下面是当用户输入非法 url时, 显示一个自定义 404 页面提示用户,其访问的页面不存在 ...
- tornado 01 路由、输入与输出
tornado 01 路由.输入与输出 一.安装tornado pyvip@Vip:~$ workon py3env #安装python3的虚拟环境 (py3env) pyvip@Vip:~$ pip ...
- tornado 02 输出、输入和URL传参
tornado 02 输出.输入和URL传参 一.输出 write输出到页面 #write可以接受的对象 #write() 可以接受3种对象:bytes Unicode字符(二进制字符) 字典 #如果 ...
- tornado学习笔记11 Web应用中模板(Template)使用应用实践
上一篇中(Web应用中模板的工作流程分析),已经分析了模板的渲染流程,以及相关参数获取及设置原理.这篇主要讲述模板在实际应用案例. 11.1 需求 根据用户输入的两次密码,判断两次密码是否一致,并将判 ...
- tornado web 框架的认识
tornado 简介 1,概述 Tornado就是我们在 FriendFeed 的 Web 服务器及其常用工具的开源版本.Tornado 和现在的主流 Web 服务器框架(包括大多数 Python 的 ...
- Python框架之Tornado(四)源码之褪去模板外衣的前戏
执行字符串表示的函数,并为该函数提供全局变量 本篇的内容从题目中就可以看出来,就是为之后剖析tornado模板做准备,也是由于该知识点使用的巧妙,所有就单独用一篇来介绍了.废话不多说,直接上代码: # ...
- 第一个web框架tornado
简介 tornado,是我学到的第一个web框架是 FriendFeed 使用的可扩展的非阻塞式 web 服务器及其相关工具的开源版本.这个 Web 框架看起来有些像web.py 或者 Google ...
- web框架 之 Tornado
初识 Tornado : tornado web server 是使用python编写出来的一个轻量级.高可伸缩性和非阻塞IO的Web服务器软件,其特点是采用epoll非阻塞IO,相应快速,可处理数千 ...
- Python之路【第二十篇】Tornado框架
Tornado Tornado是使用Python编写的一个强大的.可扩展的Web服务器.它在处理严峻的网络流量时表现得足够强健,但却在创建和编写时有着足够的轻量级,并能够被用在大量的应用和工具中. 我 ...
随机推荐
- vector类转换Mat类
前言 一个个数据push back到vector之后,可以使用Mat()函数将vector类型转换为Mat类型. 在opencv中Mat类的构造函数中有一个构造函数可以直接把vector类转换为Mat ...
- netscope-支持caffe的在线可视化工具-转载
Netscope是个支持prototxt格式描述的神经网络结构的在线可视工具,地址是here,可以用来可视化Caffe结构里prototxt格式的网络结构. Netscope使用起来也非常简单,打开这 ...
- stm32 SPI介绍和配置
SPI是一种高速的,全双工同步的通信总线,在芯片管脚上占用了四根线,节约了芯片的管脚,同时为PCB的布局节省了空间,提供了方便,因此越来越多的芯片集成了这种通信协议,STM32也就有了SPI接口. 有 ...
- python海龟绘图
最近学了python,看了几本书之后,才明白python的强大,python是一种解释型的语言,即每写一行程序就执行一行. 而且在科学计算方面,处理的能力特别的方便. 比如python中的字典dict ...
- MySQL设置默认编码
查看默认编码:show variables like "char%" MySQL5.5以下版本: 1.打开配置文件 2.在[client]和[mysqld]字段下面均添加defau ...
- Codeforces Beta Round #81 A Transmigration
在魔界战记中有一个设定叫做转生,当一个人物转生时,会保留之前的技能,但是技能等级需要乘以一个系数 k ,如果技能等级小于100,将会在转生之后失去该技能. 转生之后,会学到一些新技能.这些新技能附加的 ...
- test20180902 day1
试题限制均为256MB,1Sec 总分:250 试题一 谜题 首先请解以下谜题:车下的数字是什么? 正确的答案是 87 .这道题对小龙大犇来说太轻松了,于是他想加强难度来考考你:对于给定的长度 N,能 ...
- oracle nodejs 访问
1. 下载node-oracle网址如下: https://github.com/joeferner/node-oracle 2. 测试代码: var oracle = require('oracle ...
- gridview 自动序号 合计
第一种方式,直接在Aspx页面GridView模板列中.这种的缺点是到第二页分页时又重新开始了. <asp:TemplateField HeaderText="序号" Ins ...
- bat计算两个时间差
这个是脚本代码[保存为etime.bat放在当前路径下即可: 免费内容: :etime <begin_time> <end_time> <return>rem 所测 ...