Zopebuch: Inhaltsverzeichnis
DTML ist die Document Template Markup Language, eine praktische Darstellungs- und Vorlagensprache, die in Zope integriert ist. Dieser Anhang ist eine Referenz zu allen DTML-Tags und Ihrer Funktionsweise.
call: Eine Methode aufrufen
Mit Hilfe des call
-Tags können Sie eine Methode aufrufen, ohne die Ergebnisse in den DTML-Output einzufügen.
Syntax
call
Tag Syntax:
Wenn das call-Tag eine Variable verwendet, werden die Argumente automatisch von DTML weitergegeben, genau wie beim var
-Tag. Ist die Methode in einem Ausdruck beschrieben, müssen Sie die Argumente selbst übergeben.
Beispiele
Aufruf �ber einen Variablennamen:
Dieser Code ruft das UpdateInfo
-Objekt auf und gibt die Argumente automatisch weiter.
Aufruf über einen Ausdruck:
Beachten Sie auch
var-Tag
Kommentar: Kommentiert DTML
Mit dem comment-Tag können sie DTML mit Kommentaren dokumentieren. Sie können es auch dazu verwenden, DTML-Tags vorübergehend auszuschalten, indem Sie sie auskommentieren.
Syntax
comment
Tag Syntax:
Das comment
Tag ist ein Block-Tag. Die Inhalte des Blocks werden weder ausgeführt, noch werden sie in den DTML-Output eingefügt.
Beispiele
DTML dokumentieren:
Dieser Inhalt wird nicht ausgeführt und erscheint nicht im Output.
DTML auskommentieren:
Diese DTML ist abgeschaltet und wird nicht ausgeführt.
Funktionen: DTML-Funktionen
DTML-Dienstprogrammfunktionen stellen einige in Python integrierte sowie einige DTML-spezifische Funktionen zur Verfügung.
Funktionen
- abs(Zahl)
- Gibt den absoluten Wert einer Zahl zurück. Das Argument kann ein plain-Integer, ein long-Integer oder eine Gleitkommazahl sein. Ist das Argument eine komplexe Zahl, wird der Betrag der Zahl zurückgegeben.
- chr(integer)
- Gibt einen String von einem Character Länge zurück, dessen ASCII-Code der Integer ist, beispielsweise gibt
chr(97)
den String a
zurück. Dies ist die Umkehrun von ord(). Das Argument muss im Zahlenraum von 0 bis einschliesslich 255 liegen; ein ValueError
wird auftreten, falls der integer ausserhalb dieses Bereiches ist.
- DateTime()
- Gibt ein Zope
DateTime
-Objekt zurück, sofern Konstruktorargumente übergeben wurden. Bitte beachten Sie die DateTime API-Referenz für weitere Informationen zu Konstruktorargumenten.
- divmod(Zahl, Zahl)
- Benutzt zwei Zahlen als Argumente und gibt ein Zahlenpaar zurück, das aus dem Quotienten und dem Restbetrag besteht, wenn eine long-Division ausgeführt wird. Bei gemischten Zahlentypen werden die Regeln für binäre arithmetische Operanden angewendet. Für plain und long-Integers ist das Ergebnis wie bei
(a / b, a % b)
. Bei Gleitkommazahlen ist das Ergebnis gleich (q, a % b)
, wobei q normalerweise math.floor(a / b)
beträgt, es kann jedoch um 1 reduziert sein. In jedem Fall ist 'q * b + a % b' sehr nahe an a, sofern a % b
nicht Null ist, hat die Berechnung das selbe Vorzeichen wie b und 0 <= abs(a % b) < abs(b)
.
- float(Zahl)
- Wandelt einen String oder eine Zahl in eine Gleitkommazahl um. Wenn das Argument ein String ist, muss es eine positive Dezimalzahl oder eine Gleitkommazahl, die in Leerzeichen eingebettet sein kann, enthalten; dies verhält sich wie
string.atof(number)
. Ansonsten kann das Argument ein long oder integer sein, in diesem Fall wird eine Gleitkommazahl mit dem selben Wert (innerhalb Pythons Gleitkommazahlpräzisierung) zurückgeliefert.
- getattr(Objekt, String)
- Gibt den Namen der Attribute eines Objektes zurück. Der Name muss ein String sein. Ist der String der Name eines der Attribute des Objektes, so wird der Wert des Attributes zurügeliefert. Beispielsweise ist
getattr(x, "foobar")
gleich x.foobar
. Wenn das genannte Attribut nicht existiert, wird, falls vorhanden, der Defaultwert zurückgeliefert, ansonsten wird ein AttributeError
ausgegeben.
- getitem(Variable, render=0)
- Gibt den Wert einer DTML-Variable zurück. Wenn
render
wahr ist, wird die Variable gerendert. Bitte beachten Sie die render
-Funktion.
- hasattr(Objekt, String)
- Die Argumente sind hier ein Objekt und ein String. Das Ergebnis ist 1, wenn der String der Name eines der Attribute des Objektes ist, andernfalls 0. (Dies wird durch den Aufruf von getattr(Objekt, Name) und die Überprüfung implementiert, ob eine Exception geworfen wird oder nicht.)
- hash(Objekt)
- Gibt den Hash-Wert eines Objektes zurück, sofern es einen besitzt. Hash-Werte sind Integers. Sie werden genutzt, um schnell Dictionary-Schlüssel während einer Dictionary-Suche zu vergleichen. Numerische Werte die gleich sind haben auch den selben Hash-Wert (selbst wenn es sich um verschiedene Zahlentypen handelt, z.B. 1 und 1.0).
- has_key(Variable)
- Gibt true zurück, wenn der DTML-Namensraum die gesuchte Variable enthält.
- hex(integer)
- Konvertiert einen integer (egal welcher Grösse) in einen hexadezimalen String um. Das Ergebnis ist ein gültiger Python-Ausdruck. Bitte beachten Sie: dies liefert immer ein vorzeichenloses Literal, z.B. ergibt
hex(-1)
auf einem 32-bit Rechner 0xffffffff
. Wird die Rückberechnung auf einem Rechner mit der selben Wortlänge ausgeführt, wird als Ergebnis -1 ausgegeben, bei einer anderen Wortlänge könnte jedoch eine grosse positive Zahl ausgegeben werden oder aber ein OverflowError
auftreten.
- int(Zahl)
- Wandelt einen String oder eine Zahl in einen integer um. Ist das Argument ein String, muss er eine positive Dezimalzahl (einen Python-integer) enthalten, die in Leerzeichen eingebettet sein kann; dies verhält sich wie 'string.atoi(number[, radix]'). Der
radix
-Parameter wird als Basis für die Umwandlung genutzt und kann ein integer mit einem Wert von 2 bis 36 sein. Wird radix
benutzt und die Zahl ist kein String, wird ein TypeError
ausgegeben. Andernfalls kann das Argument ein integer oder eine Gleitkommazahl sein. Die Umwandlung von Gleitkommazahlen in integers wird von der C-Semantik definiert; normalerweise rundet die Umwandlung ab.
- len(Sequenz)
- Gibt die Länge (die Zahl der Elemente) eines Objektes zurück. Das Argument kann eine Sequenz (String, Tupel oder Liste) oder eine Zuordnung (Dictionary) sein.
- max(s)
- Mit dem einzelnen Argument s gibt dieser Ausdruck das grösste Element einer nicht(!)-leeren Sequenz (z.B. String, Tupel oder Liste) zurück. Bei mehr als einem Argument wird das grösste Element der Argumentenliste zurückgegeben.
- min(s)
- Mit dem einzelnen Argument s wird hier das kleinste Element einer nicht(!)-leeren Sequenz (z.B. String, Tupel, Liste) zurückgegeben. Bei mehr als einem Argument wird das kleinste Element der Argumentenliste zurückgegeben.
- namespace([name=value]...)
- Gibt ein neues DTML-Namensraum-Objekt zurück. Die Schlüsselwort - Argument-Paare
name=value
werden in den neuen Namensraum eingefügt.
- oct(integer)
- Wandelt einen integer (jeglicher Grösse) in einen Oktal-String um. Das Ergebnis ist ein gültiger Python-Ausdruck. Bitte beachten Sie: diese Umwandlung ergibt immer ein vorzeichenloses Literal, beispielsweise ergibt
oct(-1)
auf einem 32-bit-Rechner 037777777777
. Wird die Berechnung auf einem Rechner mit der selben Wortlänge durchgeführt, wird das Literal als -1 berechnet; bei einer anderen Wortlänge könnte eine grosse positive Zahl oder ein OverflowError
ausgegeben werden.
- ord(Character)
- Gibt den ASCII-Wert eines Strings, der aus genau einem Character besteht, aus. Beispielsweise ergibt
ord("a")
den integer 97. Dies ist das Gegenteil von chr()
.
- pow(x, y [,z])
- Gibt x hoch y zurück; falls auch z angegeben ist, wird x hoch y, modulo z ausgegeben (diese Berechnung ist besser geeignet als 'pow(x, y) % z'). Die Argumente müssen numerisch sein. Bei gemischten Zahlentypen werden die Regeln für binäre arithmetische Operanden angewandt. Der tatsächliche Zahlentyp bestimmt auch den Zahlentyp des Ergebnisses; ist das Ergebnis in diesem Typ nicht auszudrücken, wird eine Exception ausgegeben, z.B.
pow(2, -1)
oder pow(2, 35000)
sind nicht erlaubt.
- range([start,] stop [,step])
- Dies ist eine vielseitige Funktion um Listen, die arithmetische Reihen enthalten, zu erstellen. Die Argumente müssen vom Typ integer sein. Wird kein step-Argument angegeben, wird der Defaultwert 1 verwendet. Wird kein start-Argument angegeben, wird der Defaultwert 0 verwendet. Der komplette Ausdruck gibt eine Liste von integers zurück: '[Startwert, Startwert + step, Startwert + 2 * step, ...]'. Ist der Wert für step positiv, ist das letzte Element der Reihe das grösste und um 'Startwert + i step' kleiner als stop; ist der Wert für step negativ, ist das letzte Element das kleinste und um 'start + i step' grösser als stop. Der Wert für step darf NICHT 0 sein, sonst wird ein
ValueError
ausgegeben.
- round(x [,n])
- Gibt die Gleitkommazahl x, gerundet auf n Nachkommastellen aus. Wird n nicht angegeben, wird der Defaultwert 0 verwendet. Das Ergebnis ist wiederum eine Gleitkommazahl. Werte werden auf das nächste Vielfache von 10 hoch -n gerundet; sind zwei Werte gleich nach an x, wird von 0 weggerundet. So ist zum Beispiel round(0.5) 1.0, round(-0.5) dagegen nicht 0, sondern -1.0.
- render(Objekt)
- Rendert das
Objekt
. Für DTML-Objekte berechnet dieser Ausdruck den DTML-Code mit dem aktuellen Namensraum. Für andere Objekte ist dies das gleiche wie str(object)
.
- reorder(s [,with] [,without])
- Ordnet die Elemente in s anhand der Reihenfolge, die in
with
definiert wird, ohne die Elemente, die in without
enthalten sind, einzuschliessen. Elemente, die in s enthalten sind, aber in with nicht erwähnt werden, werden entfernt. s, with und without sind alle entweder Sequenzen von Strings oder Sequenzen von Schlüssel-Wert-Tupeln, die nach den Schlüsseln geordnet werden. Diese Funktion ist nützlich, um geordnete Auswahllisten zu erstellen.
- SecurityCalledByExecutable()
- Gibt wahr zurück, wenn das aktuelle Objekt (z.B. ein DTML-Dokument oder eine DTML-Methode) von einer ausführbaren Anweisung (beispielsweise ein anderes DTML-Dokument oder eine DTML-Methode, ein Skript oder eine SQL-Anweisung) aufgerufen wird.
- SecurityCheckPermission(permission, object)
- Überprüft, ob der Sicherheitskontext das gegebene Recht im Bezug auf das angegebene Objekt erlaubt. Beispielsweise gibt 'SecurityCheckPermission("Add Documents, Images, and Files", this())' wahr zurück wenn der aktuelle Benutzer berechtigt ist, Dokumente, Bilder und Dateien an der angegebenen Position zu erstellen.
- SecurityGetUser()
- Gibt das aktuelle User-Objekt zurü. Dies ist normalerweise das selbe wie das
REQUEST.AUTHENTICATED_USER
Objekt. Jedoch ist das AUTHENTICATED_USER
Objekt unsicher, da es ersetzt werden kann.
- SecurityValidate([object] [,parent] [,name] [,value])
- Gibt true zurück wenn der aktuelle User auf den Wert zugreifen kann.
object
ist das Objekt, in dem auf den Wert zugegriffen wird, parent
ist der Behälter, in dem der Wert liegt und name
ist der Name, mit dem auf den Wert zugegriffen wird (z.B. "getattr", wenn über diesen Namen auf den Wert zugegriffen wird). Sie können einige dieser Argumente vernachlässigen, auf alle Fälle sollten Sie aber alle Argumente, die Ihnen zur Verfügung stehen, angeben.
- SecurityValidateValue(object)
- Gibt true zurück, wenn das Objekt für den aktuellen Benutzer zugänglich ist. Diese Funktion erfüllt dieselbe Aufgabe wie der Aufruf von
SecurityValidate(None, None, None, Objekt)
.
- str(object)
- Gibt einen String zurück, der eine für den Ausdruck optimierte Darstellung eines Objektes enthält. Bei Angabe von Strings werden diese unverändert zurückgegeben.
- test(condition, result [,condition, result]... [,default])
- Nimmt eine oder mehrere Bedingung-Ergebnis-Tupel an und gibt das Ergebnis der ersten erfüllten Bedingung zurück. Es wird nur ein Ergebnis zurückgegeben, selbst wenn mehr als eine Bedingung erfüllt ist. Ist keine der Bedingungen erfüllt und ein Defaultwert ist vorgegeben, so wird dieser zurückgegeben. Ist keine der Bedingungen erfüllt und auch kein Defaultwert angegeben, wird nichts zurückgegeben.
- unichr(Zahl)
- Gibt einen Unicode-String zurück, der den Wert der Zahl als Unicode-Character darstellt. Dies ist die Umkehrung von ord() für Unicode-Characters.
- unicode(string[, encoding[, errors ] ])
- Verschlüsselt einen String unter Benutzung des Codes für die Verschlüsselung. Die Fehlerbehandlung wird gemäss der Fehler ausgeführt. Im Normalfall wird UTF-8 in strict mode verschlüsselt, was bedeutet, dass Verschlüsselungsfehler einen ValueError hervorrufen.
Attribute
- None
- Das
None
-Objekt entspricht dem in Python integrierten None
. Dies wird normalerweise benutzt, um einen Null- oder einen falschen Wert zu beschreiben.
Bitte beachten Sie auch
string
module
random
module
math
module
sequence
module
In Python integrierte Funktionen
if: Testbedingungen
Das if
-Tag erlaubt es Ihnen, Bedingungen zu testen und verschiedene Aktionen, die von den Bedingungen abhängen, durchzuführen. Das if
-Tag spiegelt Pythons if/elif/else
-Ausdrücke zum Testen von Bedingungen wider.
Syntax
If Tag Syntax:
[]
...
[]
Das if
-Tag ist ein Block-Tag. Das if
-Tag und optionale elif
-Tags nehmen eine Bedingungsvariable oder einen Bedingungsausdruck auf, aber nicht beides zusammen. Wird der Bedingungsname oder der Ausdruck als true zurückgegeben, wird der if
-Block ausgeführt. True bedeutet nicht 0, einen leeren String oder eine leere Liste. Falls die Bedingungsvariable nicht gefunden wird, wird die Bedingung als false angenommen.
Ist die Anfangsbedingung falsch, wird jede der elif
-Bedingungen nacheinander getestet. Wenn eine der elif
-Bedingungen wahr ist, wird ihr Block ausgeführt. Schliesslich wird der optionale else
-Block ausgeführt falls keine der if
- oder elif
-Bedingungen true ergeben hat. Es wird immer nur ein Block ausgeführt.
Beispiele
Eine Variable testen:
Die snake-Variable ist true
Ausdrucksbedingungen testen:
num ist grösser als 5
num ist kleiner als 5
num ist genau 5
Bitte beachten Sie auch:
Python Tutorial: If-Statements
in: Sequenzwiederholungen
Das in
-Tag gibt Ihnen umfassende Kontrolle über Sequenzwiederholungen und die Ausführung von batch-Prozessen.
Syntax
in
Tag Syntax:
[]
Der in
-Block wird einmal für jedes Element in der Sequenzvariable oder dem Sequenzausdruck wiederholt. Das aktuelle Element wird während jeder Ausführung des in
-Tags in den DTML-Namensraum eingefügt. Sind in der Sequenzvariablen bzw. im Sequenzausdruck keine Elemente enthalten, wird der optionale else
-Block ausgeführt.
Attribute
- mapping
- Eine Wiederholung, die auf der Zuordnung von Objekten und nicht auf ihren Instanzen beruht. Dies erlaubt es dem User, Werte der zugeordneten Objekte als DTML-Variablen zu benutzen.
- reverse
- Dreht die Sequenz um.
- sort=string
- Sortiert die Sequenz anhand des angegebenen Attributnamens.
- start=int
- Die Nummer des ersten Elementes das angezeigt werden soll, die Folge beginnt bei 1.
- end=int
- Die Nummer des letzten Elementes das angezeigt werden soll, die Folge beginnt bei 1.
- size=int
- Die Grösse des Batch.
- skip_unauthorized
- Verhindert, dass eine Fehlermeldung erscheint, wenn ein nicht autorisiertes Element entdeckt wird.
- orphan=int
-
Die benötigte Mindestgrösse des Batch. Sie bestimmt, wie Sequenzen in Batches aufgeteilt werden. Tritt ein Batch auf, das kleiner ist als die Grösse von orphan, wird keine Aufteilung ausgeführt, woraus sich ein Batch ergibt das grösser ist als die eigentliche Batch-Grösse.
Beispiel: Ist die Sequenzgrösse 12, die Batchgrösse 10 und die Grösse von orphan 3, so ergibt sich daraus ein Batch mit allen 12 Elementen, da aus einer Aufteilung der Elemente in zwei Batches ein Batch resultieren würde, das kleiner ist als die Grösse von orphan.
Der Defaultwert ist 0.
- overlap=int
- Die Zahl der Elemente, die zwischen Batches überhängen sollen. Per Default ist kein overlap eingestellt.
- previous
- Wiederholt einmal, falls es ein früheres Batch gibt. Setzt die Batchvariablen für die frühere Sequenz.
- next
- Wiederholt einmal, falls es ein nächstes Batch gibt. Setzt die Variablen für die nächste Sequenz.
- prefix=string
- Stellt Versionen der Tagvariablen zur Verfügung, die mit der gegebenen Vorsilbe statt "sequence" anfangen und die Unterstriche(_) statt Bindestriche (-) benutzen. Diese Vorsilbe muss mit einem Buchstaben beginnen und darf nur alphanumerische Zeichen und Unterstriche (_) enthalten.
- sort_expr=Ausdruck
- Sortiert die Sequenz anhand eines Attributes, das vom Wert des Ausdrucks benannt wird. Dies gibt Ihnen die Möglichkeit, nach verschiedenen Attributen zu sortieren.
- reverse_expr=Ausdruck
- Dreht die Sequenz um, falls der Ausdruck true ergibt. Dies gibt Ihnen die Möglichkeit, die Sequenz anhand einer von Ihnen erstellten Auswahl umzudrehen.
Tag-Variablen
Current Item-Variablen
Diese Variablen beschreiben das aktuelle Element.
- sequence-item
- Das aktuelle Element.
- sequence-key
- Der aktuelle Schlüssel. Wenn Sie eine Wiederholung über Tupel der Form
(Schlüssel,Wert)
laufen lassen, interpretiert das in
-Tag sie als (Sequenz-Schlüssel, Sequenz-Element)
.
- sequence-index
- Sequenz-Index, startet mit 0 beim aktuellen Element.
- sequence-number
- Die Sequenznummer, startet mit 1 beim aktuellen Element.
- sequence-roman
- Der Sequenz-Index des aktuellen Elements in kleingeschriebenen römischen Ziffern.
- sequence-Roman
- Der Sequenz-Index des aktuellen Elements in grossgeschriebenen römischen Ziffern.
- sequence-letter
- Der Sequenz-Index des aktuellen Elements in Kleinbuchstaben.
- sequence-Letter
- Der Sequenz-Index des aktuellen Elements in Grossbuchstaben.
- sequence-start
- Gibt true zurück, wenn das aktuelle Element das erste der Sequenz ist.
- sequence-end
- Gibt true zurück, wenn das aktuelle Element das letzte in der Sequenz ist.
- sequence-even
- Gibt true zurück, wenn der Index des aktuellen Elements gerade ist.
- sequence-odd
- Gibt true zurück, wenn der Index des aktuellen Elements ungerade ist.
- sequence-length
- Die Länge der Sequenz.
- sequence-var-Variable
- Eine Variable im aktuellen Element. Beispielsweise ist
sequence-var-title
die title
-Variable des aktuellen Elements. Normalerweise können Sie auf diese Variablen direkt zugreifen, da das aktuelle Element in den DTML-Namensraum eingefügt wird. Allerdings können diese Variablen nützlich sein, wenn sie die vorige und nächste Batch-Information anzeigen wollen.
- sequence-index-Variable
- Der Index einer Variable des aktuellen Elements.
Zusammenfassungsvariablen
Diese Variablen fassen Informationen über numerische Elementvariablen zusammen. Um sie zu verwenden müssen Sie eine Wiederholung über Objekte laufen lassen (wie Datenbankergebnislisten), die numerische Variablen enthalten.
- total-Variable
- Die Summe aller Ausprägungen einer Elementvariable.
- count-Variable
- Die Zahl der Ausprägungen einer Elementvariable.
- min-Variable
- Der kleinste Wert einer Elementvariable.
- max-Variable
- Der grösste Wert einer Elementvariable.
- mean-Variable
- Der Mittelwert einer Elementvariable.
- variance-Variable
- Die Abweichung einer Elementvariable von ihrem Mittelwert mit einem Grad Freiraum.
- variance-n-Variable
- Die Abweichung einer Elementvariable von ihrem Mittelwert mit n Graden Freiraum.
- standard-deviation-Variable
- Die Standard-Abweichung einer Elementvariable mit einem Grad Freiraum.
- standard-deviation-n-Variable
- Die Standard-Abweichung einer Elementvariable mit n Graden Freiraum.
Gruppierungsvariablen
Diese Variablen geben Ihnen die Möglichkeit, Veränderungen an den aktuellen Elementvariablen zu verfolgen.
- first-Variable
- Gibt true zurück, wenn das aktuelle Element das erste mit einem bestimmten Wert für eine bestimmte Variable ist.
- last-Variable
- Gibt true zurück, wenn das aktuelle Element das letzte mit einem bestimmten Wert für eine bestimmte Variable ist.
Batch-Variablen
- sequence-query
- Der query-String ohne die
start
-Variable. Sie können diese Variable verwenden, um Links zu nächsten und vorigen Batches zu erstellen.
- sequence-step-size
- Die Grösse des Batch.
- previous-sequence
- Gibt true zurück, wenn das aktuelle Batch nicht das erste ist. Bitte beachten Sie, dass diese Variable bei einer Wiederholung nur im ersten Durchgang true zurückgibt.
- previous-sequence-start-index
- Der Start-Index des letzten Batches.
- previous-sequence-start-number
- Die Startnummer des letzten Batches. Bitte beachten Sie, dass dies das selbe ist wie
previous-sequence-start-index
+ 1.
- previous-sequence-end-index
- Der End-Index des letzten Batches.
- previous-sequence-end-number
- Die Endnummer des letzten Batches. Bitte beachten Sie, dass dies das selbe ist wie
previous-sequence-end-index
+ 1.
- previous-sequence-size
- Die Grösse des letzten Batches.
- previous-batches
- Eine Sequenz von Zuordnungsobjekten mit Informationen über alle früheren Batches. Jedes dieser Objekte hat folgende Schlüssel:
batch-start-index
, batch-end-index
und batch-size
.
- next-sequence
- Gibt true zurück, wenn der vorige Batch nicht der letzte ist. Bitte beachten Sie: diese Variable ist bei einer Wiederholung nur im ersten Durchgang true.
- next-sequence-start-index
- Der Start-Index der nächsten Sequenz.
- next-sequence-start-number
- Die Startnummer der nächsten Sequenz. Bitte beachten Sie, dass dies das selbe ist wie
next-sequence-start-index
+ 1.
- next-sequence-end-index
- Die Endnummer der nächsten Sequenz.
- next-sequence-end-number
- Die Endnummer der nächsten Sequenz. Bitte beachten Sie, dass dies das selbe ist wie
next-sequence-end-index
+ 1.
- next-sequence-size
- Die Grösse des nächsten Indexes.
- next-batches
- Eine Sequenz von Zuordnungsobjekten mit Informationen über alle folgenden Batches. Jedes Zuordnungsobjekt hat folgende Schlüssel:
batch-start-index
, batch-end-index
und batch-size
.
Beispiele
Eine Wiederholung über Sub-Objekte laufen lassen:
title:
Eine Wiederholung über zwei Sets von Objekten unter Zuhilfenahme von Vorsilben laufen lassen:
Eine Wiederholung über eine Liste von (Schlüssel, Wert)
Tupeln laufen lassen:
id: , title:
Die Farbe von Datenbankfeldern verändern:
bgcolor="#EEEEEE"
bgcolor="#FFFFFF"
|
Grundlegende Batchverarbeitung:
Previous
Next
Dieses Beispiel erstellt Previous- und Next-Links um sich zwischen verschiedenen Batches zu bewegen. Bitte beachten Sie, dass Sie, wenn Sie sequence-query
verwenden, keine der GET-Variablen verlieren, wenn Sie sich zwischen den Batches bewegen.
let: Definiert DTML-Variablen
Das let
-Tag definiert Variablen im DTML-Namensraum.
Syntax
let
Tag Syntax:
Das let
-Tag ist ein Block-Tag. Variablen werden von Tag-Argumenten definiert. Definierte Variablen werden in den DTML-Namensraum eingefügt, während der let
-Block ausgeführt wird. Das let
-Tag kann ein oder mehrere Attribte mit beliebigen Namen haben. Wenn die Attribute in Anführungszeichen definiert werden, werden Sie als Ausdrücke betrachtet, andernfalls werden Sie anhand des angegebenen Namens gesucht. Attribute werden der Reihe nach abgearbeitet, so dass solche, die weiter hinten in der Reihe stehen, frühere referenzieren und/oder überschreiben können.
Beispiele
Grundlegende Verwendung:
name:
ids:
Verwendung des let
-Tags mit dem in
-Tag:
* =
Dies ergibt:
1 * 0 = 0
2 * 1 = 2
3 * 2 = 6
4 * 3 = 12
Bitte beachten Sie auch:
with-Tag
mime: Formatiert Daten mit MIME
Mit Hilfe des mime
-Tags können Sie mit MIME kodierte Daten erzeugen. Dies wird hauptsächlich für das Formatieren von e-mails innerhalb des sendmail
-Tags verwendet.
Syntax
mime
Tag Syntax:
[]
...
Das mime
-Tag ist ein Block-Tag. Der Block kann von einem oder mehreren boundry
-Tags aufgeteilt werden, um eine multi-part MIME Nachricht zu erstellen. mime
-Tags können verschachtelt werden. Das mime
-Tag wird am meisten innerhalb des sendmail
-Tags genutzt.
Attribute
Sowohl das mime
-Tag als auch das boundry
-Tag haben die selben Attribute.
- encode=string
- Der MIME Content-Transfer-Encoding Header mit dem Defaultwert
base64
. Gültige Verschlüsselnungsoptionen beinhalten base64
, quoted-printable
, uuencode
, x-uuencode
, uue
, x-uue
und 7bit
. Wird das encode
-Attribute auf 7bit
gesetzt, wird an diesem Block keine Codierung vorgenommen und es wird angenommen, dass es sich bei den Daten um ein gültiges MIME-Format handelt.
- type=string
- MIME Content-Type Header.
- type_expr=string
- MIME Content-Type Header als Variablenausdruck. Sie können nicht gleichzeitig
type
und type_expr
benutzen.
- name=string
- MIME Content-Type Header-Name.
- name_expr=string
- MIME Content-Type Header-Name als Variablenausdruck. Sie können nicht gleichzeitig
name
und name_expr
benutzen.
- disposition=string
- MIME Content-Disposition Header.
- disposition_expr=string
- MIME Content-Disposition Header als Variablenausdruck. Sie können nicht gleichzeitig
disposition
und disposition_expr
benutzen.
- filename=string
- MIME Content-Disposition Header-Dateiname.
- filename_expr=string
- MIME Content-Disposition Header-Dateiname als Variablenausdruck. Sie können nicht gleichzeitig
filename
und filename_expr
benutzen.
- skip_expr=string
- Ein Variablenausdruck der, wenn er true ergibt, den Block überspringt. Sie können dieses Attribut verwenden, um anhand einer persönlichen Auswahl MIME-Blocks einzufügen.
Beispiele
Einen Anhang senden:
To:
Subject: Resume
Hi, please take a look at my resume.
Bitte beachten Sie auch:
Python Library: mimetools
raise: Löst eine Exception aus
Das raise
-Tag gibt eine Exception aus, die sich an Pythons raise
-Ausdruck orientiert.
Syntax
raise
Tag Syntax:
Das raise
-Tag ist ein Block-Tag. Es gibt eine Exception aus. Exceptions können Exceptionklassen oder Strings sein. Die Inhalte des Tags werden als Fehlervariable weitergegeben.
Beispiele
Einen KeyError ausgeben:
Einen HTTP-404-Fehler ausgeben:
Web Page Not Found
Bitte beachten Sie auch:
try-Tag
Python Tutorial: Errors and Exceptions
Python Built-in Exceptions
return: Gibt Daten zurück
Das return
-Tag beendet die Ausführung von DTML und gibt Daten zurück. Es spiegelt Pythons return
-Statement wider.
Syntax
return
Tag Syntax:
Beendet die Ausführung von DTML und gibt eine Variable oder einen Ausdruck zurück. Der DTML-Output wird nicht ausgegeben. Normalerweise ist ein return-Ausdruck sinnvoller als eine return-Variable, denn in Skripten ist dieses Tag weitgehend überholt.
Beispiele
Eine Variable ausgeben:
Ein Python-Dictionary ausgeben:
sendmail: Sendet emails per SMTP
Das sendmail
-Tag sendet eine e-mail unter Verwendung von SMTP.
Syntax
sendmail
Tag Syntax:
Das sendmail
-Tag ist ein Block-Tag. Es benötigt entweder ein mailhost
- oder ein smtphost
-Argument, aber nicht beides. Der Tag-Block wird als e-mail gesendet. Der Anfang des Blocks beschreibt die e-mail Header. Die Header werden durch eine leere Zeile vom mail-Körper getrennt. Wahlweise können die To
, From
und Subject
Header mit Tag-Argumenten versehen werden.
Attribute
- mailhost
- Der Name eines Zope-MailHost-Objektes, das benutzt wird, um die e-mail zu verschicken. Sie können nicht gleichzeitig einen mailhost und einen smtphost definieren.
- smtphost
- Der Name eines SMTP-Servers, der verwendet wird, um e-mails zu verschicken. Sie können nicht gleichzeitig einen mailhost und einen smtphost definieren.
- port
- Wird das smtphost-Attribut verwendet, wird das port-Attribut dazu benutzt, um eine Portnummer zu definieren, zu der eine Verbindung hergestellt wird. Wird es nicht definiert, wird Port 25 verwendet.
- mailto
- Die Empfängeradresse oder eine Liste von Empfängeradressen, die durch Kommas getrennt werden. Dies kann auch im
To
Header definiert werden.
- mailfrom
- Die Absenderadresse. Die kann auch im
From
Header definiert werden.
- subject
- Die Überschrift der e-mail. Dies kann auch im
Subject
Header definiert werden.
Beispiele
Eine e-mail über einen Mail-Host versenden:
To:
From:
Subject:
Dear ,
Your order number is ready.
Please pick it up at your soonest convenience.
Bitte beachten Sie auch:
RFC 821 (SMTP Protocol)
mime-Tag
sqlgroup: Formatiert komplexe SQL-Ausdrücke
Das sqlgroup
-Tag formatiert komplexe wahr/falsch-SQL-Ausdrücke. Sie können es mit dem sqltest
-Tag zusammen verwenden, um dynamische SQL-Abfragen zu erstellen, die sich selber auf die Umbegung zuschneiden. Dieses Tag wird in SQL-Methoden verwendet.
Syntax
sqlgroup
Tag Syntax:
[]
[]
...
Das sqlgroup
-Tag ist ein Block-Tag. Es wird in Blöcke mit einem oder mehreren optionalen or
- und and
-Tags unterteilt. sqlgroup
-Tags können verschachtelt werden, um komplexere Logiken zu erreichen.
Attribute
- required=boolean
- Zeigt an, ob die Gruppe benötigt wird. Wird sie nicht benötigt und ist leer, wird sie aus dem DTML-Output ausgeschlossen.
- where=boolean
- Ist hier true gesetzt, wird der String "where" eingeschlossen. Dies ist beim Grossteil der
sqlgroup
-Tags in einer SQL-select
-Abfrage nützlich.
Beispiele
Beispielvewendung:
select * from employees
Ist first
auf den Wert Bob
gesetzt und last
auf den Wert Smith, McDonald
, wird folgendes berechnet:
select * from employees
where
(first='Bob'
and
last in ('Smith', 'McDonald')
)
Ist salary
auf den Wert 50000 und last
auf den Wert Smith
gesetzt, wird folgendes berechnet:
select * from employees
where
(salary > 50000.0
and
last='Smith'
)
Verschachtelte sqlgroup
-Tags:
select * from employees
Werden Beispielargumente eingefügt, berechnet diese Vorlage in SQL ausgedrückt folgendes:
select * form employees
where
(
(
name like 'A*'
and
last like 'Smith'
)
or
salary > 20000.0
)
Bitte beachten Sie auch:
sqltest-Tag
sqltest: Formatiert SQL-Bedinungstests
Das sqltest
-Tag fügt einen Bedingungstest in einen SQL-Code ein. Es testet eine Spalte gegen eine Variable. Dieses Tag wird in SQL-Methoden verwendet.
Syntax
sqltest
Tag Syntax:
Das sqltest
-Tag besteht aus einem Element. Es fügt einen SQL-Bedingungstest ein. Es wird in SQL-Abfragen verwendet. Das sqltest
-Tag filtert die eingegebene Variable korrekt. Die genannte Variable oder der Variablenausdruck wird gegen eine SQL-Spalte getestet, indem die beschriebene Vergleichsoperation durchgeführt wird.
Attribute
- type=string
- Der Typ der Variable. Gültige Typen umfassen:
string
, int
, float
und nb
. nb
bedeutet "nicht-leerer" String und sollte statt string
verwendet werden, es sei denn, Sie suchen nach Leer-Werten. Das type-Attribut wird benötigt und wird verwendet, um die eingegebene Variable korrekt zu filtern.
- column=string
- Der Name der SQL-Spalte, gegen die getestet wird. Dieses Attribut hat als Defaultwert den Namen der Variable.
- multiple=boolean
- Ist dieser Wert true, kann die Variable eine Sequenz von Werten sein, die gegen die Spalte getestet werden können.
- optional=boolean
- Ist dieser Wert true, dann ist der Test optional und wird nicht durchgeführt, wenn die Variable leer ist oder nicht existiert.
- op=string
-
Der Vergleichsoperator. Gültige Vergleichsoperatoren umfassen:
- eq
- equal to (genauso gross wie)
- gt
- greater than (grösser als)
- lt
- less than (kleiner als)
- ne
- not equal to (nicht gleich)
- ge
- greater than or equal to (grösser als oder gleich)
- le
- less than or equal to (kleiner als oder gleich)
Der Defaultwert des Vergleichsoperators ist equal to. Wird der Vergleichsoperator nicht erkannt wird der Defaultwert verwendet. So können Sie Vegleiche wie like
einsetzen.
Beispiele
Grundlegende Verwendung:
select * from employees
where
Ist die name
-Variable auf Bob
gesetzt, so wird folgendes berechnet:
select * from employees
where name = 'Bob'
Mehrere Werte:
select * from employees
where
Ist die empid
-Variable auf (12,14,17)
gesetzt, so wird folgendes berechnet:
select * from employees
where empid in (12, 14, 17)
Bitte beachten Sie auch:
sqlgroup-Tag
sqlvar-Tag
sqlvar: Fügt SQL-Variablen ein
Das sqlvar
-Tag fügt auf sicherem Weg Variablen in SQL-Code ein. Dieses Tag wird in SQL-Methoden verwendet.
Syntax
sqlvar
Tag Syntax:
Das sqlvar
-Tag besteht nur aus einem Element. Wie auch das var
-Tag sucht das sqlvar
-Tag eine Variable und fügt sie ein. Anders jedoch als beim var-Tag, werden hier die Formatierungsoptionen auf den SQL-Code zugeschnitten.
Attribute
- type=string
- Der Typ der Variable. Gültige Typen umfassen:
string
, int
, float
und nb
. nb
bedeutet "nicht-leerer" String und sollte statt string
verwendet werden, es sei denn, Sie wollen leere Strings verwenden. Das type-Attribt wird benötigt und wird verwendet, um die eingefügte Variable korrekt zu filtern.
- optional=boolean
- Ist der Wert auf true gesetzt und die Variable ist null oder existiert nicht, wird nichts eingefügt.
Beispiele
Grundlegende Verwendung:
select * from employees
where name=
Dieser SQL-Befehl gibt die name
-String-Variable zurück.
Bitte beachten Sie auch:
sqltest-Tag
tree: Stellt eine Baumstruktur dar
Das tree
-Tag stellt eine dynamische Baumstruktur dar, indem es Zope-Objekte abfägt.
Syntax
tree
Tag Syntax:
Das tree
-Tag ist ein Block-Tag. Es berechnet eine dynamische Baumstruktur in HTML. Die Wurzel dieser Baumstruktur wird über einen Variablennamen oder Ausdruck definiert, falls vorhanden, andernfalls wird das aktuelle Element benutzt. Der tree
-Block wird für jeden Punkt in der Baumstruktur berechnet, wobei der aktuelle jeweils in den DTML-Namensraum eingefügt wird.
Der Tree-Status wird über HTTP-Cookies gesetzt, diese müssen also aktiviert sein, damit der Baum funktionieren kann. Auch können Sie nur einen Baum pro Seite haben.
Attribute
- branches=string
- Findet Äste des Baumes, indem die genannte Methode aufgerufen wird. Die Defaultmethode ist
tpValues
, die von den meisten Zope-Objekten unterstützt wird.
- branches_expr=string
- Findet Äste, indem der Ausdruck ausgewertet wird.
- id=string
- Der Name einer Methode oder ID, um den Status des Baumes herauszufinden. Der Defaultwert ist hier
tpld
, was von den meisten Zope-Objekten unterstützt wird. Dieses Attribut ist nur für die fortgeschrittene Anwendung gedacht.
- url=string
- Der Name einer Methode oder eines Attributes um die URLs von Elementen des Baumes zu bestimmen. Der Defaultwert ist hier
tpURL
, was von den meisten Zope-Objekten unterstützt wird. Dieses Attribut ist nur für die fortgeschrittene Anwendung gedacht.
- leaves=string
- Der Name eines DTML-Dokumentes oder einer Methode, um Endknoten zu finden. Bitte beachten Sie: dieses Dokument sollte mit
beginnen und mit
enden, um eine saubere Darstellung im Baum zu gewährleisten.
- header=string
- Der Name eines DTML-Dokuments oder einer Methode, das/die vor voll dargestellten Knoten angezeigt wird. Wird der Header nicht gefunden, wird er übergangen.
- footer=string
- Der Name eines DTML Dokuments oder einer Methode, das/die nach voll dargestellten Knoten angezeigt wird. Wird der Footer nicht gefunden, wird er übergangen.
- nowrap=boolean
- Ist dieser Wert auf true gesetzt, werden Knoten auf den verfügbaren Platz zugeschnitten, statt sie zu wrappen.
- sort=string
- Sortiert die Äste anhand des Namensattributes.
- reverse
- Dreht die Reihenfolge des Astes um.
- assume_children=boolean
- Geht davon aus, dass ein Knoten weitere Verzweigungen hat. Dies ist nützlich, wenn das Suchen und Abfragen von Endknoten bzw. Verzweigungen zu aufwändig wäre. Als Ergebnis werden Plus-Boxen neben alle Knoten gezeichnet.
- single=boolean
- Erlaubt die Vollansicht genau eines Astes. Wird ein neuer Ast in die Vollansicht gebracht, werden alle anderen wieder geschlossen.
- skip_unauthorized
- Übergeht Knoten, die der Benutzer nicht betrachten darf, ohne eine Fehlermeldung auszugeben.
- urlparam=string
- Ein Abfragestring, der in den Vollansicht- und Indexsicht-Links der Oberflächenelemente enthalten ist. Dieses Attribut ist nur für die fortgeschrittene Anwendung gedacht.
- prefix=string
- Stellt Versionen der Tag-Variablen zur Verfügung, die mit dieser Vorsilbe statt "tree" beginnen und Unterstriche(_) statt Bindestriche (-) benutzen. Die Vorsilbe muss mit einem Buchstaben beginnen und darf nur alphanumerische Zeichen und Unterstriche (_) enthalten.
Tag-Variablen
- tree-item-expanded
- Ist true, wenn der aktuelle Knoten in der Vollansicht ist.
- tree-item-url
- Die URL des aktuellen Knotens.
- tree-root-url
- Die URL des Wurzelknotens.
- tree-level
- Die Tiefe des aktuellen Knotens. Top-Level-Knoten haben eine Tiefe von 0.
- tree-colspan
- Die Nummer der Tiefenebene, in der der Baum berechnet wird. Diese Variable kann zusammen mit der
tree-level
Variable benutzt werden, um Zeilen und Spalten sowie Einstellungen in eine Baum-Tabelle einzufügen.
- tree-state
- Der Status des Baumes, ausgedrückt in einer Liste von IDs und Sub-Listen von IDs. Diese Variable ist nur für die fortgeschrittene Anwendung gedacht.
Tag Control-Variablen
Sie können das tree-Tag kontrollieren, indem Sie diese Variablen setzen.
- expand_all
- Wird diese Variable auf true gesetzt, wird der komplette Baum in die Vollansicht gebracht.
- collapse_all
- Wird diese Variable auf true gesetzt, wird der komplette Baum in die Index-Sicht gebracht.
Beispiele
Stellt einen Baum dar, der seine Wurzel im aktuellen Objetk hat:
Stellt einen Baum dar, der seine Wurzel in einem anderen Objekt hat, in dem die Methode custom branches benutzt wird:
Node id :
try: Exceptionbehandlung
Das try
-Tag ermöglicht die Exceptionbehandlung in DTML, es spiegelt Pythons try/except
- und try/finally
-Konstrukte wider.
Syntax
Das try
-Tag hat zwei verschiedene Syntaxformen, nämlich try/except/else
und try/finally
.
try/except/else
-Syntax:
...
[]
Das try
-Tag umschliesst einen Block, in dem Exceptions abgefangen und behandelt werden können. Es kann ein oder mehrere except
-Tags geben, die Null oder mehr Exceptions behandeln. Spezifiziert ein except
-Tag keine Exception, behandelt es alle.
Wird eine Exception ausgelöst, springt das Programm zum ersten except
-Tag, das die Exception behandelt. Gibt es kein except
-Tag, um die Exception zu behandeln, wird sie wie üblich ausgelöst.
Wird keine Exception ausgelöst und es gibt ein else
-Tag, so wird dieses nach dem try
-Tag ausgeführt.
Sowohl except
- als auch else
-Tag sind optional.
try/finally
-Syntax:
Das finally
-Tag kann nicht im selben try
-Block benutzt werden wie die except
- und else
-Tags. Ist ein finally
-Tag vorhanden, wird sein Block in jedem Fall ausgeführt, egal, ob im try
-Block eine Exception ausgelöst wird oder nicht.
Attribute
- except
- Null oder mehr Exceptionnamen. Werden keine Exceptions aufgelistet, behandelt das except-Tag alle Exceptions.
Tag-Variablen
Im except
-Block werden folgende Variablen definiert.
- error_type
- Der Typ der Exception.
- error_value
- Der Wert der Exception.
- error_tb
- Das Traceback (die Zurückverfolgung).
Beispiele
Einen mathematischen Fehler abfangen:
You tried to divide by zero.
Informationen über die behandelte Exception zurückgeben:
An error occurred.
Error type:
Error value:
Die Benutzung von finally, um sicherzustellen, dass "aufgerämt wird", egal, ob ein Fehler aufgetreten ist oder nicht:
Bitte beachten Sie auch:
raise-Tag
Python Tutorial: Errors and Exceptions
Python Built-in Exceptions
unless: Testet eine Bedingung
Das unless
-Tag stellt einen Shortcut zur Verfügung, um negative Bedingungen zu testen. Für ausführliches Testen von Bedingungen benutzen Sie das if
-Tag.
Syntax
unless
Tag Syntax:
Das unless
-Tag ist ein Block-Tag. Gelangt der Wert der Bedingungsvariable oder des Ausdrucks zu false, wird der beinhaltete Block ausgeführt. Wie beim if
-Tag, werden Variablen, die nicht erreichbar sind, als false angesehen.
Beispiele
Eine Variable testen:
Der Block wird ausgeführt, wenn testMode
nicht existiert oder aber false ist.
Bitte beachten Sie auch:
if-Tag
var: Fügt eine Variable ein
Mithilfe des var
-Tags können Sie eine Variable in den DTML-Output einfügen.
Syntax
var
Tag Syntax:
Das var
-Tag besteht nur aus einem Element. Es findet eine Variable, indem es den DTML-Namensraum durchsucht, der normalerweise aus aktuellem Objekt, dem Behälter des aktuellen Objektes und schliesslich der Web-Anfrage besteht. Wird die Variable gefunden, wird sie in den DTML-Output integriert. Wird sie nicht gefunden, löst Zope einen Fehler aus.
var
Tag Instanz-Syntax:
&dtml-variableName;
Die Instanz-Syntax ist ein Shortcut, der die Variable einfügt und als HTML zitiert. Dies ist nützlich, wenn Sie Variablen in HTML-Tags einfügen.
var
-Tag Instanz-Syntax mit Attributen:
&dtml.attribute1[.attribute2]...-variableName;
Bis zu einem gewissen Grad können Sie Attribute mit der Instanz-Syntax bestimmen. Sie können Null oder mehr Attribute, die von Perioden begrenzt werden, einfügen. Sie können keine Argumente für Attribute zur Verfügung stellen, die die Instanz-Syntax benutzen. Wenn Sie null oder mehr Attribute zur Verfügung stellen, wird die Variable nicht automatisch in HTML zitiert. So können Sie HTML-Zitate vermeiden: &dtml.-variableName;
.
Attribute
- html_quote
- Wandelt Characters, die in HTML eine besondere Bedeutung haben, in HTML-Character-Instanzen um.
- missing=string
- Spezifiziert einen Defaultwert für den Fall, das Zope die Variable nicht finden kann.
- fmt=string
-
Formatiert eine Variable. Zope bietet einige eingebaute Formate einschliesslich C-style Format Strings an. Für weitere Informationen über C-style Format Strings beachten Sie bitte auch: Python Library Reference Hat der Format String kein eingebautes Format, wird angenommen, dass es sich um eine Methode des Objektes handelt, und wird aufgerufen.
- whole-dollars
- Formatiert die Variable zu Dollar-Zeichen.
- dollars-and-cents
- Formatiert die Variable zu Dollar- und Cent-Zeichen.
- collection-length
- Die Länge der Variable, wobei angenommen wird, dass es sich um eine Sequenz handelt.
- structured-text
-
Formatiert die Variable zu Structured Text. Für weitere Informationen über Structured Text beachten Sie bitte auch: Structured Text How-To auf der Zope.org Webseite.
- null=string
- Ein Defaultwert, der benutzt wird, wenn die Variable None ist.
- lower
- Wandelt Grossbuchstaben in Kleinbuchstaben um.
- upper
- Wandelt Kleinbuchstaben in Grossbuchstaben um.
- capitalize
- Schreibt den ersten Buchstaben des Wortes gross.
- spacify
- Wandelt Unterstriche in Leerzeichen um.
- thousands_commas
- Fügt alle drei Stellen links vom Dezimalpunkt ein Komma in eine Zahl ein, z.B. wird aus
12000
anschliessend 12,000
.
- url
- Fügt die URL des Objektes ein, indem seine
absolute_url
-Methode aufgerufen wird.
- url_quote
- Wandelt Buchstaben, die eine besondere Bedeutung in URLs haben, in HTML-Character-Instanzen um.
- url_quote_plus
- URL-Anführungszeichen wie
url_quote
aber auch Leerzeichen werden in Pluszeichen umgewandelt.
- sql_quote
- Wandelt einzelne Anführungszeichen in normale Anführungszeichen um. Die wird benötigt, um Werte richtig in SQL-Strings einzufügen.
- newline_to_br
- Wandelt Zeilenendenzeichen (einschliesslich des Zeilenumbruchs) in HTML-Break-Tags um.
- size=arg
- Schneidet die Variable an der gegebenen Länge ab. (Bitte beachten Sie: ist in der zweiten Hälfte der abgeschnittenen Variable ein Leerzeichen vorhanden, wird der String in dieser Hälfte nochmals zerschnitten).
- etc=arg
- Definiert einen String, der an das Ende eines anderen Strings, der zerschnitten wurde, angehängt wird (indem das
size
-Attribut, das hier weiter oben in der Liste steht, angewendet wird). Defaultmässig ist dies ...
Beispiele
Eine einfache Variable in ein Dokument einfügen:
truncate:
wird folgenden Output ergeben, wenn colors der String 'red yellow green' ist:
red yellow, etc.
C-style String-Formatierung:
berechnet:
23432.23
Die Variable link, innerhalb eines HTML A
-Tags mit der Instanz-Syntax:
Link
Einen Link mit Hilfe der Instanz-Syntax mit Attributen in das Dokument doc
einfügen:
Dies erzeugt einen HTML-Link zu einem Objekt, indem seine URL und sein Titel benutzt werden. Dieses Beispiel ruft die absolute_url
-Methode des Objekets für die URL (es wird das url
-Attribut benutzt) und seine title_or_id
-Methode für den Titel auf.
with: Kontrolliert die DTML-Variablen-Suche
Das with
Tag fügt ein Objekt in den DTML-Namensraum ein. Variablen werden zuerst im eingefügten Objekt gesucht.
Syntax
with
Tag Syntax:
Das with
-Tag ist ein Block-Tag. Es fügt den genannten Variablenausdruck für die Dauer des with
-Blocks in den DTML-Namensraum ein. Hierdurch werden Namen zuerst im eingefügten Objekt gesucht.
Attribute
- only
- Begrenzt den DTML-Namensraum so, dass nur der im
with
-Tag definierte benutzt wird.
- mapping
- Zeigt an, dass die Variable oder der Ausdruck ein Oberflächenobjekt ist. Dies stellt sicher, dass Variablen korrekt im Objerflächenobjekt gesucht werden.
Beispiele
Eine Variable im REQUEST suchen:
'id' was not in the request.
Die erste Verzweigung in den DTML-Namensraum einfügen:
First child's id:
Bitte beachten Sie auch:
let tag