Seite 1 von 1

cheetah`s extends

Verfasst: Sonntag 8. Juli 2007, 21:28
von Costi
ich wil eine template `extend`ieren, die eine directory weiter runter liegt
gibts nicht sowas wie:

Code: Alles auswählen

#extends ../base
?

Re: cheetah`s extends

Verfasst: Sonntag 8. Juli 2007, 22:24
von gerold
Costi hat geschrieben:ich wil eine template `extend`ieren, die eine directory weiter runter liegt
gibts nicht sowas wie:

Code: Alles auswählen

#extends ../base
?
Hallo Costi!

Cheetah-Templates verhalten sich wie Python-Module. Wenn du ein Python-Modul vom darunter liegenden Ordner importieren könntest, dann funktioniert das auch mit dem Cheetah-Template.

Das Einfachste ist aber, wenn du ``cheetah fill`` vom darunter liegenden Ordner aus ausführst. Das ist dann für Cheetah der Basisordner von dem alles ausgeht.

Code: Alles auswählen

basisordner/
  |- base.tmpl
  |- fill_templates.(py|.cmd|.sh)
  |
  |- unterordner/
       |- servus.tmpl
Wenn sich die Basis-Vorlage in einem Unterordner befindet, dann musst du diesen Unterordner zum Python-Paket machen. (mit __init__.py)

Code: Alles auswählen

basisordner/
  |- fill_templates.{py|.cmd|.sh}
  |
  |- basetemplates/
  |    |- __init__.py
  |    |- base.tmpl
  |
  |- unterordner/
       |- servus.tmpl
Dann kannst du von "servus.tmpl" aus die "base.tmpl" so verwenden: ``#extends basetemplates.base``

Wenn du die Vorlagen von einem Python-Programm aus befüllst, dann kannst du den Ordner, der die Basisvorlage enthält einfach zum Python-Pfad hinzu fügen.

Code: Alles auswählen

import os
import sys
BASEDIR = os.path.dirname(os.path.abspath(__file__))
sys.path.append(BASEDIR)
mfg
Gerold
:-)

Verfasst: Sonntag 8. Juli 2007, 22:35
von Costi
danke!

ich bin wirklich geruehrt mit welchen engagament hier geholfen wird :wink:

rund um die uhr, kriegt man schnelle, qualifizierte antworten


das kenne ich von keiner anderen community



(nur schade das das ganze unter phpBB laeuft.....^^)