Tornadao—模板语法(函数)
函数
static_url() Tornado模板模块提供了⼀个叫作static_url的函数来⽣成静态⽂件⽬录下⽂件的 URL。如下⾯的示例代码<link rel="stylesheet" href="{{ static_url("style.css") }}"> 这个对static_url的调⽤⽣成了URL的值,并渲染输出类似下⾯的代码: <link rel="stylesheet" href="/static/style.css?v=ab12">优点: static_url函数创建了⼀个基于⽂件内容的hash值,并将其添加到URL末尾 (查询字符串的参数v)。这个hash值确保浏览器总是加载⼀个⽂件的最新版 ⽽不是之前的缓存版本。⽆论是在你应⽤的开发阶段,还是在部署到⽣产环境 使⽤时,都⾮常有⽤,因为你的⽤户不必再为了看到你的静态内容⽽清除浏览 器缓存了。 另⼀个好处是你可以改变你应⽤URL的结构,⽽不需要改变模板中的代码。例 如,可以通过设置static_url_prefix来更改Tornado的默认静态路径前 缀/static。如果使⽤static_url⽽不是硬编码的话,代码不需要改变。
<!DOCTYPE html> <html><head><title>新建房源</title></head><body><form method="post"><textarea name="text"></textarea><input type="submit" value="提交"></form>{{text}}</body> </html>
class NewHandler(RequestHandler):def get(self):self.render("new.html", text="")def post(self):text = self.get_argument("text", "")print textself.render("new.html", text=text)
我们查看⻚⾯源代码,发现<、>、"等被转换为对应的html字符。 <script>alert("hello!");</script> 这是因为tornado中默认开启了模板⾃动转义功能,防⽌⽹站受到恶意攻击。 我们可以通过raw语句来输出不被转义的原始格式,如: {% raw text %}注意:在Firefox浏览器中会直接弹出alert窗⼝,⽽在Chrome浏览器中,需要 set_header("X-XSS-Protection", 0) 若要关闭⾃动转义,⼀种⽅法是在Application构造函数中传 递autoescape=None,另⼀种⽅法是在每⻚模板中修改⾃动转义⾏为,添加如下 语句: {% autoescape None %} escape() 关闭⾃动转义后,可以使⽤escape()函数来对特定变量进⾏转义,如: {{ escape(text) }}
Tornadao—模板语法(函数)相关推荐
- Tornadao—模板语法(自定义函数)
自定义函数 def house_title_join(titles):return "+".join(titles) class IndexHandler(RequestHandl ...
- Tornadao—模板语法(控制语句)
控制语句 可以在Tornado模板中使⽤Python条件和循环语句.控制语句以{\%和\%}包围, 并以类似下⾯的形式被使⽤: {% if page is None %} 或 {% if len(en ...
- views视图函数-模板语法
一.Django基础–views视图函数 "这是我参与更文挑战的第2天,活动详情查看: 更文挑战" 视图 CBV和FBV FBV function based view ,平常用函 ...
- VUE 学习代码 监视和 模板语法回调函数
文章目录 HelloWorld 模板语法 03_计算属性和监视 HelloWorld <!DOCTYPE html> <html lang="en"> &l ...
- C++模板学习02(类模板)(类模板语法、类模板与函数模板的区别、类模板中的成员函数创建时机、类模板对象做函数参数、类模板与继承、类模板成员函数类外实现、类模板分文件编写、类模板与友元)
C++引用详情(引用的基本语法,注意事项,做函数的参数以及引用的本质,常量引用) 函数高级C++(函数的默认参数,函数的占位参数,函数重载的基本语法以及注意事项) C++类和对象-封装(属性和行为作为 ...
- Tornado-02-Tornado、路由进阶、视图进阶(视图中内置的钩子方法、视图方法调用顺序、冲刷缓存、用户认证)、模板语法(基本语法、内置标签或函数)
Tornado 一.路由进阶 路由语法和参数 在路由列表的路由成员中,我们一共可以设置4个参数 url(r"/uri路径", 视图类, {"参数名":" ...
- 模板 (函数模板语法 ,类模板与函数模板的区别,:函数模板案例,普通函数与函数模板的区别,普通函数与函数模板调用规则,模板的局限性,类模板分文件编写.cpp,Person.hpp,类模板与友元)
**01:函数模板语法: #include<iostream> using namespace std;//交换两个整型函数 void swapInt(int &a ,int &a ...
- django之:网页伪静态 JsonResponse form表单携带文件数据 CBV源码分析 模板语法传值 模板语法之过滤器 标签 自定义标签函数 过滤器、inclusion_tag模板的继承导入
目录标题 一:网页伪静态 1.定义 2.如何实现 二:视图层 1.视图函数返回值问题 2.视图层返回json格式的数据 3.form表单携带文件数据 4.CBV源码分析 1.CBV和FBV: 2.CB ...
- Vue的模板语法学习
模板语法 1.插值 a.文本 数据绑定最常见的形式就是使用 "Mustache" 语法(双大括号)的文本插值 我们在普通插值的时候无论何时,绑定的数据对象上 msg 属性发生了改变 ...
最新文章
- 关于虚拟空间与物理空间思想的解析
- 【小题目】判断一个数字是否是3的倍数
- 面试题 HashMap和HashTable有什么区别
- Gson解析Json格式数据
- Spatial Transformer Networks(STN)
- python add_subplot_Python使用add_subplot与subplot画子图操作
- 光动能表怎么维护_[腕表]西铁城CITIZEN AT814451E 光动能 电波表 开
- Spring依赖注入DI
- webpack的分享
- 供电绘图计算软件-新增了图库管理功能
- 【Multisim仿真】74LS193+74LS138流水灯
- https免费泛域名证书申请
- apache的动态网站部署,discuz论坛系统和ecshop电商系统
- 2017 东北四省赛热身赛 C
- vertica java_Vertica数据查询优化
- 北京住房公积金联名卡政策问答
- 阿里云云计算专业认证考试(Alibaba Cloud Certified Professional,ACP)
- 基带传输、频带传输与宽带传输
- 如何用python制作炫酷的个人足迹地图?
- 最新草莓CDMS原创内容分销系统/微信小说平台系统1.0版
热门文章
- BottomNavigationView+Navigation 添加底部导航菜单切换时的fragment过渡动画animation
- echarts 常见的功能点小结
- 爬取CSDN官方博客粉丝中码龄20年以上的用户数量
- python基础语言与应用第五章_Python基础教程读书笔记(第5章—第6章:条件、循环和其他语句;抽象)...
- 日期选择器:jquery datepicker的使用
- ios 通讯录 通过电话号码 查询姓名
- python 报错 invalid value 2_【python】错误解决经历
- Clannad(1)
- Uboot 板级初始化流程and so on
- 会用top与free命令查看linux服务器内存使用情况