[其他] mako模板也有问题
jasongreen
2009-03-27
使用django模板,发现功能很少,控制力不强,变量赋值很麻烦。
看了mako模板觉得不错,可是一用,发现 %for %if 的表达式会导致程序多出一些换行 今天想实现 引用 % for menu in menus[1]
<% css = "" if(for.first): css="first " elif(for.last): css="last " if(menu==current_menu[1]): css=css+"active" %> <li %if css: class="${css}!"{% endif %}"> 这样的功能 用django, css变量的赋值很麻烦,自己实现了assign但if块太大。 用mako,无故多了个换行 <li class="xxx" 自己写了个tag 引用 <%def name="when(test)"><%
if test: return caller.body() %> </%def> <% css="aaa" %> <li <%self:if when="${css}">class="${css}"</%self:when>asdfasdf 如果mako可以实现 <%for> <%if>的tag,就比较好了。 |
|
duker
2009-03-27
其实django 模板系统可以自己定义 tag和 filter,这样基本上什么功能都能完成..
|
|
YES
2010-02-08
不知道为什么我的mako模板中的控制语句全部直接输出了。。。。
this is myfunc, x is 7 % for i in [1,2,3,4]: 7 % end for |
|
YES
2010-02-08
<%def name="myfunc(x)">
this is myfunc, x is ${x} % for i in [1,2,3,4]: ${x} % end for </%def> ${myfunc(7)} |
|
smalllixin
2010-04-20
mako是有这个问题比较烦,jinja2这方面做得比较好。
但是mako带来的这种空格在html中没有什么伤害, 如果真的想控制换行其实mako也提供了机制 在你的代码最后加一个\ %if something:\ should be connected. |
相关讨论
相关资源推荐
- Microsoft 发布Rotor,一场Shared Source对Open Source的速度比赛 (转)
- .NET / Rotor 源码研究1 - Building Rotor
- .NET框架未公开的特性---String类
- 如何找到public extern bool Equals(String value)的实现代码?[C#, C++, BCL, CLR]
- mamchace和redis区别_为什么Redis要比Memcached更火?它们有什么区别?
- 为什么 Redis 要比 Memcached 更火?
- 为什么Redis要比Memcached更火?
- 为什么不能用memcached存储Session?
- Memcached vs Redis, 挑选哪一个?
- Memcached