首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >修剪Mako输出

修剪Mako输出
EN

Stack Overflow用户
提问于 2009-01-24 16:56:23
回答 1查看 1.5K关注 0票数 4

我真的很喜欢Pylons和其他几个Python框架中使用的Mako模板系统,我唯一的抱怨是,即使是一个简单的继承方案,WS也会泄漏太多。

在不造成如此巨大的WS差距的情况下,有没有办法完成下面的工作……或者像我开始使用base.mako那样打包我的代码?

否则,为了掌握下面我想要实现的目标。

Base类似于整个应用程序的所有视图的接口类,layout只是3-4个不同布局文件(表格、纯CSS等)的原型概念,而控制器/动作是一种测试,以确保我的想法是合理的。

问题摘要:如何裁剪在我的Mako方案中创建的WS?

更新:不是一个解决方案,因为它涉及到用\的http://www.makotemplates.org/docs/syntax.html#syntax_newline播种我的所有mako文件

/base.mako

代码语言:javascript
复制
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
  <head><%def name="headtags()"></%def>${self.headtags()}</head>
  <body>
    <%def name="header()"></%def>${self.header()}${next.body()}<%def name="footer()"></%def>${self.footer()}
  </body>
</html>

/layout.mako

代码语言:javascript
复制
<%inherit file="/base.mako"/>
<%def name="headtags()">
   ${parent.headtags()}
   <script src="http://ajax.googleapis.com/ajax/libs/prototype/1.6.0.3/prototype.js"></script>
</%def>
<%def name="header()">
  <h1>My Blogination</h1>
</%def>
<div id="content">${next.body()}</div>

/controller/action.mako

代码语言:javascript
复制
<%inherit file="/layout.mako" />
<%def name="headtags()">    
    <title> Hello world, templating system is 1 percent done</title>
    ${parent.headtags()}
</%def>
Hello ${c.name}! 

渲染输出:

代码语言:javascript
复制
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
  <head>    
    <title> Hello world, templating system is 1 percent done</title>

   <script src="http://ajax.googleapis.com/ajax/libs/prototype/1.6.0.3/prototype.js"></script>


</head>
  <body>

  <h1>My Blogination</h1>


<div id="content">

Hello Anonymous!

</div>

  </body>
</html>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2009-01-24 18:14:21

找到了我自己的答案http://docs.makotemplates.org/en/latest/filtering.html

它仍然需要一些试验和错误,但使用

代码语言:javascript
复制
t = TemplateLookup(directories=['/tmp'], default_filters=['trim'])

大大减少了空格溢出。可以通过检查编译后的模板并查找任何只是按下‘’或类似的写操作来发现额外的节省。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/476324

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档