深入Tornado

3.1 Application

settings

我们在创建tornado.web.Appliction 的对象时,传入第一个参数–路由映射列表。实际上Application 类的构造函数还接收很多关于tornado web应用的配置参数
先来学习一个参数:
debug , 设置tornado 是否工作在调试模式。默认为false即工作在生产模式 当设置debug=True后 torndo 为方便我们加法而提供几种特性;

'- 自动重启:tornado应用会监控我们的源代码中的文件,当有改动保存后便会重启程序,可以坚守手动重启程序的次数。需要注意的是,一旦我们保存的更改有错误,自动重启hi导致程序报错而退出,从而需要我们保存修正错误后启动程序,这一特性也可单独通过aitoreload = True 设置

  • 取消缓存编译的模板 可以单独通过complied_template_cache = False 来设置;
  • 取消缓存编译的模板,可以单独通过static_hash_cache=False来设置;
  • 提供追踪信息,当RequestHandler 或者其子类抛出一个异常而未被捕获后,会生成一个包含追踪信息的页面,可以单独通过server_traceback = True 来设置。
    使用debug 参数的方法
import tornado.web
app = tornado.web.Application([],debug=True)

路由映射

先前我们在构建路由映射列表的时候,使用的是二元元组,如:

[(r''/'',IndexHandler),]

对于这个映射列表中的路由,实际上还可以传入多个信息,如:
[
(r"/",Indexhandler),
(r"/cpp",ItHandler,{“subject”:“c++”}),
url(r"/python",itHandler,{“subject”:“python”),name=“python_url”)
]
对于路由中的字典,会传入到对应的RequestHandler 的initialize()方法中:

from tornado.web import RequestHandler 
class ItHandler(RequestHandler):
	def initialize(self,subject):
		self.subjecr = subject 
	
	def get(self):
		self.write(self.subject)
~~~

对于路由中的name字段 注意此时不能在使用元组,而应使用tornado.web.url 来构建,name是给该路由起一个名字,可以通过调用 RequestHandler.reverse_url(name) 来获取该名字对应的url
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值