tornado模板机制_在模板里面编程
来源:互联网 发布:淘宝怎么导出客户资料 编辑:程序博客网 时间:2024/06/06 06:40
模板的名字空间
tornado的模板机制是出了名的灵活.
我以前的一篇博客已经讲过了,原因是因为,tornado渲染生成模板对象的时候,是把html文件一句句的读入python中,然后按照python的语句来解析执行.所以,tornado里面几乎可以使用所有的python语句来进行编程.
而且在模板中,有一个名字空间, 我们可以去get_template_namespace这个方法去查看, 所以在模板中,我们可以任意使用一些预定义好的变量.
def get_template_namespace(self): """Returns a dictionary to be used as the default template namespace. May be overridden by subclasses to add or modify values. The results of this method will be combined with additional defaults in the `tornado.template` module and keyword arguments to `render` or `render_string`. """ namespace = dict( handler=self, request=self.request, current_user=self.current_user, locale=self.locale, _=self.locale.translate, static_url=self.static_url, xsrf_form_html=self.xsrf_form_html, reverse_url=self.reverse_url ) namespace.update(self.ui) return namespace当然,我们也可以重载这个方法,然后加入,修改一些新的变量,这些变量在模板里是全局可用的.
模板里传参数并表达成html的表达式
有时候,我们需要传入参数,然后定制一些html标签,该怎么办?
有一个思路:
(1)实现一个ui module组件.
(2)在这个组件中渲染一个字符串表达式. 比如 "class="bababa""
这样我们就可以将这个字符串转化成html的表达式了.
python是强类型语言.
我们可以在模板中使用{{str(a)}}, python的任何内置变量都是可以在模板中使用的.
{{"1"+1}}这样会出错,因为我们的python是强类型语言,不会进行隐式的,含糊的转换.不同类型之间不能进行操作.
小注:
{%set buttion=1%} 正确
{%set buttion={
1:1}
%} 正确
{%set
buttion=1%} 错误
这样在ui模板中渲染的时候{{"..."}}, 就不是表达式了,
比如: 如果a="fa fa"
在ui 渲染 key = {{a}}的时候, 结果是 key = "fa" fa
正确应该是: key = "{{a}}" , 结果: key = "fa fa"
0 0
- tornado模板机制_在模板里面编程
- Tornado模板机制分析
- tornado模板
- tornado强大灵活的模板机制1
- 学习tornado:模板
- tornado模板引擎原理
- tornado 模板总结
- tornado入门 - 模板
- tornado系列二:模板
- tornado模板引擎原理
- tornado 5、模板扩展
- tornado 4、模板使用
- tornado模板参数传递
- tornado模板引擎原理
- python tornado 模板扩展
- Tornado框架06-模板
- python tornado模板使用
- C++风格_模板编程
- Codeforces Round #246 (Div. 2)
- android 加载大图片时计算图片的缩放比例
- Ubuntu 12.04 php5 mcrypt 完全安装
- 使用Ant制作发布版本
- Factory 'javax.faces.render.RenderKitFactory' was not configured properly.
- tornado模板机制_在模板里面编程
- Service与Android系统设计(6)--- Native Service
- 21天战拖记——Day16:系统化,接着填“衣柜整理法”的坑(2014-05-19)
- 对你同样重要的非技术贴,8个方法让你成为下一个晋升对象
- 【Leetcode】Longest Substring Without Repeating Characters
- 3Sum Closest
- Winsocket 一:单线程阻塞server&client程序(tcp)
- Excel VBA编程基础
- 3种浏览器性能测试