Frage

Ich mag die Mako Template-System wirklich, die in Pylone und ein paar anderen Python-Frameworks verwendet wird, und meine einzige Beschwerde ist, wie viele WS Lecks durch sogar ein einfaches Vererbungsschema.

Gibt es trotzdem unten zu erreichen, ohne so große WS Lücken zu schaffen ... oder packe meinen Code in wie ich begann mit base.mako zu tun?

Ansonsten den Griff zu bekommen, was ich versuche, mit unten zu erreichen.

Basis ist eine Art, wie Interface-Klasse für alle Ansichten für die gesamte Anwendung, das Layout ist nur ein Prototyp Idee für 3-4 verschiedene Layout-Dateien (Tabellen, reine CSS, etc.) und Controller / Aktion ist ein Test, um sicherzustellen, meine Idee ist gesund.

Kurze Zusammenfassung der Frage: Wie wird die WS in meinem Mako Schema erstellt auszuschneiden

?

Update: Ist keine Lösung, weil es sich um alle meine mako Dateien mit \ 's Impfen     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}! 

gerenderte Ausgabe:

<!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>
War es hilfreich?

Lösung

Gefunden meine eigene Antwort http://docs.makotemplates.org/en/latest/filtering.html

Es benötigt noch einige Versuch und Irrtum, aber mit

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

dramatisch auf Leerzeichen bluten abgeholzt. Zusätzliche Einsparungen können durch Überprüfen der kompilierte Vorlage von und der Suche nach irgendwelchen Schreibvorgängen, die sind nur drängen ‚‘ oder ähnliches zu finden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top