Domanda

Mi piace molto il sistema di template Mako utilizzato in Pylons e un paio di altri framework Python, e la mia unica lamentela è quanto WS perde attraverso un semplice schema di ereditarietà.

Esiste comunque qualcosa da realizzare di seguito, senza creare enormi lacune WS ... o impacchettare il mio codice come ho iniziato a fare con base.mako?

Altrimenti per avere un'idea di ciò che sto cercando di realizzare con il seguito.

Base è una specie di classe di interfaccia simile per tutte le viste per l'intera applicazione, il layout è solo un'idea prototipo per 3-4 diversi file di layout (tabelle, CSS puro, ecc.) e controller / azione è un test per assicurarsi la mia idea è sana.

Breve riassunto della domanda: come tagliare il WS creato nel mio schema Mako?

Aggiornamento: non è una soluzione perché implica il seeding di tutti i miei file mako con \ '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}! 

output renderizzato:

<!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>
È stato utile?

Soluzione

Trovato la mia risposta http://docs.makotemplates.org/en/latest/filtering.html

Sono ancora necessari alcuni tentativi ed errori, ma utilizzando

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

drasticamente ridotto sull'emorragia degli spazi bianchi. Ulteriori risparmi possono essere trovati controllando i template compilati e cercando eventuali scritture che stanno semplicemente spingendo '' o simili.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top