Question

J'aime beaucoup le système de templates Mako utilisé dans Pylons et quelques autres frameworks Python, et mon seul reproche est de savoir combien de fuites WS par le biais d'un simple schéma d'héritage.

Y a-t-il un moyen d'accomplir ci-dessous, sans créer de tels écarts WS importants ... ou intégrer mon code comme je l'avais commencé à faire avec base.mako?

Autrement, pour comprendre ce que j'essaie d'accomplir ci-dessous.

Base est un peu la même classe d’interface pour toutes les vues de l’application entière, la disposition n’est qu’une idée prototype pour 3-4 fichiers de présentation différents (tableaux, CSS pur, etc.), et le contrôleur / action est un test permettant de s’assurer que mon idée est saine d'esprit.

Résumé bref de la question: Comment éliminer les WS créés dans mon système Mako?

Mise à jour: N’est pas une solution car elle implique l’ensemencement de tous mes fichiers mako avec \ 's     http://www.makotemplates.org/docs/syntax.html#syntax_newline"/a >

/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}! 

rendu 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>
Était-ce utile?

La solution

Trouvé ma propre réponse http://docs.makotemplates.org/fr/latest/filtering.html

Cela nécessitait encore quelques essais et erreurs, mais avec

t = TemplateLookup(directories=['/tmp'], default_filters=['trim'])

réduit considérablement le fond blanc. Des économies supplémentaires peuvent être trouvées en vérifiant le modèle compilé et en recherchant les écritures qui poussent simplement '' ou similaire.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top