转自:http://www.qttc.net/201305320.html
tornado默认是转义所有字符,比较安全,但有时候我们的确需要把字符当做html来解析处理,因此我们需要做些处理。
示例:
main.py 代码:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
import tornado.ioloopimport tornado.webclass MainHandler(tornado.web.RequestHandler): def get(self): self.render('main.html',title = '<h1>Title</h1>')application = tornado.web.Application([ (r"/", MainHandler),])if __name__ == "__main__": application.listen(8888) tornado.ioloop.IOLoop.instance().start() |
main.html 代码:
|
1
|
{{ title }} |
执行结果:

默认把h1标签给转义,我们可以这么干使它不要转义
main.html 代码:
|
1
2
|
{% raw title %}{{ title }} |
raw 是不要转义
执行:

或者在头部这么定义
main.html
|
1
2
3
|
{% autoescape None %}{{ title }}{{ escape(title) }} |
{% autoescape None %} 是整个文件都生效,但可以使用escape转义某一处
执行:

浙公网安备 33010602011771号