3.如何开启Tornado的调试模式 (副标题:方便调试与测试)
来源:互联网 发布:石家庄众人网络靠谱吗 编辑:程序博客网 时间:2024/04/30 01:21
默认用Tornado写程序,修改完代码需要将文件上传,然后重启 Supervisord (supervisorctl reload),修改的程序才能生效。但这样比较麻烦,因为需要SSH到服务器进行重启操作。Tornado自带的调试模式可以让我们轻松不少。
开启调试模式也很简单,只需要 import 一个模块即可。
1
import
tornado.autoreload
现在将修改的文件上传之后,不需要再重启,修改的结果就会显示出来了。
另外也可以在 settings 加入 debug选项:
01
import
tornado.httpserver
02
import
tornado.ioloop
03
import
tornado.options
04
import
tornado.web
05
06
settings
=
{
'debug'
:
True
}
07
08
define(
"debug"
,default
=
True
,
help
=
"Debug Mode"
,
type
=
bool
)
09
10
def
main():
11
tornado.options.parse_command_line()
12
application
=
tornado.web.Application([
13
(r
"/"
, MainHandler),
14
(r
"/nowamagic/"
, NowaMagicHandler),
15
],
*
*
settings)
16
http_server
=
tornado.httpserver.HTTPServer(application)
17
http_server.listen(options.port)
18
tornado.ioloop.IOLoop.instance().start()
Tornado 官方教程上的 settings 是这样的:
01
settings
=
{
02
"cookie_secret"
:
"61oETzKXQAGaYdkL5gEmGeJJFuYh7EQnp2XdTP1o/Vo="
,
03
"login_url"
:
"/login"
,
04
"xsrf_cookies"
:
True
,
05
}
06
07
application
=
tornado.web.Application([
08
(r
"/"
, MainHandler),
09
(r
"/login"
, LoginHandler),
10
],
*
*
settings)
当然也设置settings字典可以这样:
1
settings
=
dict
(
2
cookie_secret
=
"61oETzKXQAGaYdkL5gEmGeJJFuYh7EQnp2XdTP1o/Vo="
,
3
login_url
=
"/login"
,
4
xsrf_cookies
=
True
,
5
)
settings可以设置什么?
01
#设置templates路径:
02
template_path
=
os.path.join(os.path.dirname(__file__),
"templates"
)
03
04
#设置静态文件解析路径:
05
static_path
=
os.path.join(os.path.dirname(__file__),
"static"
),
06
07
#设置防跨站请求攻击:
08
xsrf_cookies
=
True
,
09
#默认为False,即不可防御。
10
11
#设置登陆路径,未登陆用户在操作时跳转会用到这个参数:
12
login_url
=
"/login-do"
,
13
#默认为@tornado.web.authenticated
14
15
#设置调试模式:
16
debug
=
True
,
17
#默认为False,即不是调试模式。
18
19
#设置cookie密钥:
20
cookie_secret
=
"dskfhisdjklagkfdklag;lkjasdklgjkldsjaklgjkldsfksdklf"
21
#默认为字符串"secure cookies"
22
23
#设置是否自动编码:在2.0以上需要设置此项来兼容您之前的APP
24
autoescape
=
None
,
25
#不设置默认为自动编码。
26
27
#设置template_loader,可以从独立的路径中导入template:
28
template_loader
=
utils.ZipLoader,
29
#其中utils为自己定义的模块,ZipLoader是tornado.template.BaseLoader的子类。
30
31
#设置gzip压缩:
32
gzip
=
True
33
34
#设置静态路径头部:
35
static_url_prefix
=
"/mystatic/"
,
36
#默认是"/static/"
37
38
#设置静态文件处理类:
39
static_handler_class
=
MyStaticFileHandler,
40
#默认是tornado.web.StaticFileHandler
41
42
#设置静态文件的参数:
43
static_handler_args
=
{
"key1"
:
"value1"
,
"key2"
:
"value2"
}
44
#默认为空字典。
45
46
#设置日志处理函数
47
log_function
=
your_fun,
48
# 日志处理函数your_fun,按照自己的意图记录日志。
调试模式的缺点是:只感知.py文件的改变,模版的改变不会加载,有些特殊的错误,比如import的错误,就会直接让服务下线,到时候还得手动重启。还有就是调试模式和 HTTPServer 的多进程模式不兼容。在调试模式下,你必须将 HTTPServer.start 的参数设为不大于 1 的数字。
0 0
- 3.如何开启Tornado的调试模式 (副标题:方便调试与测试)
- 如何开启Tornado的调试模式
- 开启Direct3D调试模式
- destoon 开启调试模式
- 开启ffmpeg调试模式
- printf开启关闭宏-方便调试
- 方便的调试方法
- thinkphp开启调试模式失败的原因
- 4.Tornado对Web请求与响应的处理机制 (副标题:作为Web Server的功能)
- 测试与调试的区别
- 调试与测试的关系
- [Hadoop] Hadoop开启调试模式
- 织梦开启调试模式
- Yii Framework 开启调试模式
- iOS 开启僵尸调试模式
- iOS 开启僵尸调试模式
- 小米note开启调试模式
- phpcms-v9开启调试模式
- javascript模拟C#继承练习
- 位运算技巧
- FFmpeg支持的音频编解码格式
- CSS盒子模型的定位
- linux中Vim配置
- 3.如何开启Tornado的调试模式 (副标题:方便调试与测试)
- 安装多个电脑杀毒软件
- 循环链表的算法操作
- mysql如何设置密码
- Unix & Linux笔记(14)
- POJ3463
- 论经济学、宗教及人类的社会生活
- 火星坐标系转北京54坐标方法
- Jenkins部署新项目