Tornado模板转义处理
转自: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转义某一处
执行:

Tornado模板转义处理的更多相关文章
- Tornado模板
--------------------静态文件-------------------- 1.static_path:通过向web.Application类的构造函数传递一个名为static_path ...
- Tornado 模板(StaticFileHandler/static_path/template_path等) 笔记
使用StaticFileHandler进行首页默认访问页面,最好将StaticFileHandler放在最后面,这样不会覆盖要匹配自定义的路径 import tornado.web import to ...
- Tornado模板配置
#!/usr/bin/env python # -*- coding:utf-8 -*- #tornado模板配置 import tornado.ioloop import tornado.web c ...
- tornado 模板引擎
在tornado的模板引擎中,有两种方式,UImethod与UImodule 自定义方法 在模板中调用方法: tornado:与Django一样使用{{}},但是对于for循环之类,Django以{% ...
- Tornado 模板支持“控制语句”和“表达语句”的表现形式
Tornado 的模板支持“控制语句”和“表达语句”,控制语句是使用 {% 和 %} 包起来的 例如 {% if len(items) > 2 %}.表达语句是使用 {{ 和 }} 包起来的,例 ...
- tornado模板的自动编码问题(autoescape )
tornado新版(具体版本未知)支持自动转义,比如{{ "<div>" }}不会输出html标签,而是进行转义. {{ module.test(10) }} 也会进行 ...
- Laravel 解决blade模板转义html标签问题
当我们使用富文本编译器(如:Ueditor编译器)保存编辑的内容后,在blade模板中,想要显示原生的html标签内容时该怎么做? 首先,了解下laravel {{ 变量名 }} 与{!! 变量名 ! ...
- tornado模板的使用
一. 配置模板路径 settings中使用template_path来指定模板的路径, 实例化服务对象时加载进去即可. 二. 模板的使用 1. 使用self.render()方法可返回指定的html页 ...
- tornado学习笔记11 Web应用中模板(Template)使用应用实践
上一篇中(Web应用中模板的工作流程分析),已经分析了模板的渲染流程,以及相关参数获取及设置原理.这篇主要讲述模板在实际应用案例. 11.1 需求 根据用户输入的两次密码,判断两次密码是否一致,并将判 ...
随机推荐
- CSS再学习 之背景色 背景图片
背景色 p {background-color: gray;} 如果您希望背景色从元素中的文本向外少有延伸,只需增加一些内边距. p {background-color: gray; padding: ...
- 【Demo】jQuery 图片放大镜效果——模仿淘宝图片放大效果
实现功能: 模仿淘宝图片放大效果,鼠标移动到小图片的某一处,放大镜对应显示大图片的相应位置. 实现效果: 实现代码: <!DOCTYPE html> <html> <he ...
- 改变VO中的sql
cuxOptionVO.setFullSqlMode(cuxOptionVO.FULLSQL_MODE_AUGMENTATION); cuxOptionVO.setQuery(null); cuxOp ...
- java 8 日期api
//localdatetime -> string LocalDateTime now = LocalDateTime.now(); String format = now.format(Dat ...
- 解决Myeclipse闪退问题
才安装好Myeclipse就出了问题,打开之后没过多久就自动退出了,看了好多解决方法都无效,后来才找到正确路径,转载过来方便跟我遇到同样问题的小伙伴,尽快解决 转载自:http://blog.csdn ...
- vue-cli脚手架目录讲解
build目录 config目录 是webpack配置相关的 node-modules目录 是我们用npm install 安装的依赖代码库 src目录 是我们项目的源码(我们开发的所有项目文件都在s ...
- SGU 141.Jumping Joe 数论,拓展欧几里得,二元不等式 难度:3
141. Jumping Joe time limit per test: 0.25 sec. memory limit per test: 4096 KB Joe is a frog who lik ...
- RabbitMQ的几种工作模式
maven: <dependencies> <!-- RabbitMQ的客户端 --> <dependency> <groupId>com.rabbit ...
- Java——三大特性
body, table{font-family: 微软雅黑; font-size: 10pt} table{border-collapse: collapse; border: solid gray; ...
- 免费获取半年 Bitdefender Total Security 2014
免费获取半年 Bitdefender Total Security 2014,安装后剩余 200 天使用期.安装程序语言是德语,调包下安装语言应该也是可以的? 目前德国活动,Bitdefender T ...