cheetah`s extends

Sockets, TCP/IP, (XML-)RPC und ähnliche Themen gehören in dieses Forum
Antworten
Costi
User
Beiträge: 545
Registriert: Donnerstag 17. August 2006, 14:21

ich wil eine template `extend`ieren, die eine directory weiter runter liegt
gibts nicht sowas wie:

Code: Alles auswählen

#extends ../base
?
cp != mv
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

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
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Costi
User
Beiträge: 545
Registriert: Donnerstag 17. August 2006, 14:21

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.....^^)
cp != mv
Antworten