J'aime vraiment le système de templates Mako utilisé dans Pylons et quelques autres frameworks Python, et mon seul reproche est de savoir à quel point WS traverse même un simple système d'héritage.Rognage Mako sortie
Y at-il de toute façon à accomplir ci-dessous, sans créer de tels écarts WS énormes ... ou emballer mon code comme je l'ai commencé à faire avec base.mako?
Sinon, pour comprendre ce que j'essaie d'accomplir ci-dessous. Base est un peu comme une classe d'interface pour toutes les vues pour l'ensemble de l'application, la mise en page est juste une idée prototype pour 3-4 fichiers de mise en page différents (tableaux, CSS pur, etc), et controller/action est un test à faire Bien sûr, mes idées sont saines.
Résumé de la question: Comment couper le WS créé dans mon système Mako?
Mise à jour: est-ce pas une solution car elle implique l'ensemencement tous mes fichiers avec mako \ 's http://www.makotemplates.org/docs/syntax.html#syntax_newline
/base.mako
<!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
<%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
<%inherit file="/layout.mako" />
<%def name="headtags()">
<title> Hello world, templating system is 1 percent done</title>
${parent.headtags()}
</%def>
Hello ${c.name}!
sortie rendu:
<!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>
wow, juste réalisé quel âge cette question était, cela doit avoir été l'un de mes derniers projets à utiliser prototype.js – David