![]() | 1 daqing 2010-07-20 09:14:32 +08:00 我比较喜欢HAML,不知有没有python语言的实现。 |
![]() | 2 kuber 2010-07-20 09:32:16 +08:00 我现在在用Ninja2, 还不错, 比Django 模板限制少 |
![]() | 3 shawiz 2010-07-20 15:37:05 +08:00 我觉得jinja2好!比 mako 简洁,比 genshi 快多了。 |
![]() | 4 flytwokites 2010-07-25 16:03:52 +08:00 自已写一个,不会超过500行,哪里不满意就自已改。 |
![]() | 5 iwinux 2010-07-27 14:50:53 +08:00 Uliweb 这个框架带有一个模板 http://code.google.com/p/uliweb/source/browse/trunk/uliweb/core/template.py,是 web2py 里的模板的改进版,优点是在模板里可以直接写Python代码,缺点是可能会有性能问题…… |
![]() | 8 darcy 2010-09-02 18:31:03 +08:00 只用过django 和velocity ,感觉还是 django 好些。 个人觉得没有所谓的最好,只是对你工作的度来说是否合适。a的缺点往往就是b的优点,而又没有谁那么容易的能够兼顾全面。 |
![]() | 9 flytwokites 2010-09-02 18:45:51 +08:00 模板里可以直接用python是必须的。django那种模板用着真是痛苦,写tag也很不方便。 |
![]() | 11 minghua 2010-09-02 18:47:47 +08:00 过渡简洁的模版会让设计师MM晕掉的,好不容易学会个Html,容易吗我? 比如HAML,本来她能帮你集成类Html页面的,好了,这次只能你自己动手玩。 |
![]() | 12 leondu 2010-09-02 19:01:14 +08:00 |
![]() | 14 iugo 2010-09-03 10:53:40 +08:00 |
![]() | 15 vicalloy 2010-09-03 13:25:26 +08:00 Django的模板通常情况下是好用的,tag和filter在大多情况下也还比较容易写。 但由于限制比较多,某些情况下还是很让人抓狂。 Jinja2长得和Django的模板比较像,而且限制少些,性能也不错。 值得一试 |
![]() | 16 ZoomQuiet 2010-09-10 09:15:26 +08:00 认同这种追寻: 寻找更好的模板系统记 - Kenneth's Blog - 歪酷博客 Ycool Blog http://kenneth.ycool.com/post.2812445.html 可恨的是作者就是没有给出最后的模板... |
![]() | 17 TerranC 2010-12-26 00:49:42 +08:00 jinja2 不错,很方便。 |
![]() | 18 gonghao 2010-12-26 01:49:02 +08:00 ![]() |
![]() | 19 Livid MOD OP PRO 最后为新项目选定了 Jinja2,感谢大家的推荐。 |
![]() | 20 muxi 2010-12-31 23:01:29 +08:00 慢了一步,本来推荐Jinja2的 |
21 goophy 2011-01-01 21:30:57 +08:00 我是来看结果的:) |
![]() | 22 fanzeyi 2011-01-01 21:42:02 +08:00 nice~ 我正好在写一个需要模板统的工程 |
![]() | 23 iwinux 2011-01-01 22:30:17 +08:00 我直接转向RoR了 = =... |
![]() | 25 Jet 2011-01-01 22:41:29 +08:00 jinja2 + 1 , 真的很棒而且性能不错。 |
![]() | 27 chuangbo 2011-03-24 00:04:47 +08:00 @ZoomQuiet 这个08年的小作品具有强大的潜在威力,也许一直让 John Resig 耿耿于怀,导致 jQuery templates plugin 被收进 jQuery 官方。 不过目前还是 beta ,最终应该会并入 jQuery。 http://api.jquery.com/category/plugins/templates/ js templates 给我带来了良好的实践体验,后端只需要准备好数据,模版什么的,ajax 什么的统统让 js 搞定啦,再也不用写两套渲染方法了~ |
![]() | 28 dreampuf 2011-03-24 13:18:33 +08:00 tenjin1.0.1 此前使用jinjia挺强大的,一些模块化工作做的不错.但是多个文件的类库有些庞大. 后来换成tenjin,比jinjia灵活,不过模块化不如jinjia,每个模块必须为一个模板文件.此前版本的缩进问题很麻烦,不过1.0.1后可以无视这个问题了. 二者的文档碎片缓存都很强大.tenjin无论在速度还是在体积都优于jinjia不过他更像是封装了字符串拼接的python模块.而jinjia更传统,功能更丰富. |
![]() | 30 adow 2011-03-24 14:55:59 +08:00 最近要想要一个js的模板,问题是不知道到底哪个比较好,后来一怒之下自己造了个轮子,200多行js,好像用着还行 |
![]() | 32 ZoomQuiet 2011-03-31 13:20:58 +08:00 @mywaiting http://www.tornadoweb.org/ 被长城认证了!这就是最大的问题! |
![]() | 33 ekayxu 2011-03-31 13:23:21 +08:00 推荐cheetah,性能非常好,并且看着舒服 |
![]() | 36 stranbird 2011-04-01 19:38:02 +08:00 Rails的erb真的很赞~ |
![]() | 37 mywaiting 2011-04-01 23:18:50 +08:00 |
![]() | 38 ZoomQuiet 2011-04-28 14:42:22 +08:00 @mywaiting 嗯嗯嗯,开始偏题了,不过, PS: 当初没有进来,不是RP 问题,只是耐心问题而已, 订阅的规则一直有说 http://code.google.com/p/cpyug/wiki/PythonCn#%E8%AE%A2%E9%98%85%E9%97%AE%E9%A2%98 但是,没有耐心看一眼的话,以后不论学习什么,也是难以深入的哈,这是个基本可用的小测试 ;-) |
![]() | 39 iiduce 2011-04-28 15:27:48 +08:00 新的django项目中用了jinja2,速度还没有看出来,语法和django模板真的很想,但是语法要多了不少,灵活一些。 但是jinja2和django的集成导致django的不少组件没法直接用了。 |
![]() | 40 yuest 2011-04-28 16:07:48 +08:00 最近做的东西用 tornado 原生 + mustache 片段,前后端共用。 |
![]() | 41 remus 2011-06-07 22:34:30 +08:00 |
42 zhangkaixuan 2011-06-21 01:20:16 +08:00 正在往php+drupal攀爬 |
![]() | 43 island205 2011-08-09 12:40:57 +08:00 mustache |
![]() | 44 lenmore 2011-08-09 14:59:40 +08:00 jinja2 +1 |
![]() | 46 iwege 2011-11-10 18:54:22 +08:00 underscore 自带的template ,js的,很灵活很小巧,很适合前端... |
![]() | 47 iwege 2011-11-10 18:56:58 +08:00 // By default, Underscore uses ERB-style template delimiters, change the // following template settings to use alternative delimiters. _.templateSettings = { evaluate : /<%([\s\S]+?)%>/g, interpolate : /<%=([\s\S]+?)%>/g, escape : /<%-([\s\S]+?)%>/g }; // Javascript micro-templating, similar to John Resig's implementation. // Underscore templating handles arbitrary delimiters, preserves whitespace, // and correctly escapes quotes within interpolated code. _.template = function(str, data) { var c = _.templateSettings; var tmpl = 'var __p=[],print=function(){__p.push.apply(__p,arguments);};' + 'with(obj||{}){__p.push(\'' + str.replace(/\\/g, '\\\\') .replace(/'/g, "\\'") .replace(c.escape, function(match, code) { return "',_.escape(" + code.replace(/\\'/g, "'") + "),'"; }) .replace(c.interpolate, function(match, code) { return "'," + code.replace(/\\'/g, "'") + ",'"; }) .replace(c.evaluate || null, function(match, code) { return "');" + code.replace(/\\'/g, "'") .replace(/[\r\n\t]/g, ' ') + "__p.push('"; }) .replace(/\r/g, '\\r') .replace(/\n/g, '\\n') .replace(/\t/g, '\\t') + "');}return __p.join('');"; var func = new Function('obj', tmpl); return data ? func(data) : func; }; 就这么点,完了~ hoho~ |
![]() | 48 lijia18 2011-11-10 19:11:21 +08:00 jinja2 +1 |
![]() | 49 jckwei 2011-11-13 16:17:55 +08:00 我是来投 tenjin 的 |
![]() | 50 clino 2011-11-15 17:22:40 +08:00 我也推荐 uliweb ,是能在 html 里面内嵌 python 代码的 |
![]() | 51 lerry 2012-02-14 13:30:12 +08:00 jinja2 |
![]() | 54 jo32 2012-02-15 19:38:38 +08:00 via Android 选择真多,我觉得选社区资源多的就好了。。。 |
![]() | 55 cloudream 2012-02-15 20:41:48 +08:00 @chuangbo jQuery template plugin是这么回事儿: 微软VS团队引入jQuery时写了这个东西(当时jQuery项目一个新闻是MS和NOKIA开发工具原生支持jQuery)。 现在发布的jQuery template plugin是:John Resig看了一遍微软写的,当着微软员工的面,cmd+A,delete,然后现场重写了一遍 |
![]() | 56 onlytiancai 2012-02-15 20:52:08 +08:00 via Android 哈哈,楼上说的是真事吗 |
57 whtsky 2012-02-15 21:16:27 +08:00 via Android tenjin+1… |
![]() | 58 kojp 2012-02-15 23:00:00 +08:00 看完所有回复 ,好迷茫 .. 不是以前一直听 livid说 tornado很不错的吗 ? 我还是先把 django学好再说吧 .. |
![]() | 59 shawiz 2012-02-16 03:24:25 +08:00 |
![]() | 61 felinx 2012-02-16 10:04:27 +08:00 @mywaiting Tornado模板的UIModule有点绕,不如mako的方便。mako和jinja2一个级别,差别主要在个人喜好,mako的语法根常见的模板语言不太一样。 |
![]() | 62 jckwei 2012-02-16 10:08:01 +08:00 个人喜好+习惯 |
![]() | 63 wptree 2012-02-16 10:26:11 +08:00 前端的话,jtemplate还不错的 |
64 superisaac 2012-02-16 11:05:44 +08:00 前端的话,Mustache不错 |
![]() | 66 yuest 2012-02-16 12:07:40 +08:00 @shawiz 没用过,这里有一个性能比较 http://jsperf.com/hogan-performance/2 这里有好多模板引擎的比较 http://jsperf.com/dom-vs-innerhtml-based-templating/346 |
![]() | 67 mywaiting 2012-02-16 12:26:20 +08:00 @felinx 绕,有一点吧,不过能把模板里面通用的抽出来,UIModule的实现也是很不错的..... 忽然想到我上次把UIModule里面的render方法写成self.render(""),结果Python提示我堆栈超出最大限制了.....自己把自己调用了.......... |
![]() | 68 88250 2012-02-16 12:37:43 +08:00 FreeMarker,总感觉功能过于累赘。 有时候还是简单的模版引擎比较好,比如没有逻辑表达式,没有复杂类型。 |
![]() | 69 felinx 2012-02-16 12:38:37 +08:00 @mywaiting 你去看看mako的 http://docs.makotemplates.org/en/latest/defs.html# 就会知道为什么我会说UIModule有点绕 |
![]() | 71 cloudream 2012-03-04 20:26:11 +08:00 微软澳洲11年remix上speaker自己说的 XD |
72 yxlwfds 2013-03-02 13:17:08 +08:00 Tenjin +1 |
73 darkread 2014-02-05 21:22:18 +08:00 |