| 1 | Veraltet! | ||
| 2 | Zope Einführung | ||
| 3 | Bausteine | ||
| 4 | Ein objektorientierter Webserver | ||
| 4. | 1 | Benutzer und Rollen | |
| 4. | 2 | ZCatalog | |
| 4. | 3 | Relationale Datenbanken | |
| 4. | 4 | ZEO | |
| 5 | Entwickeln mit Zope | ||
| 5. | 1 | TTW (Through the Web) | |
| 5. | 2 | Python Produkte | |
| 6 | Nachteile von Zope | ||
| 7 | Persönliche Einschätzung zu Zope | ||
| 8 | FAQ | ||
| 9 | Glossar | ||
| 10 | Links | ||
| 11 | About |
<dtml-in objectValues>
title: <dtml-var title> <br>
</dtml-in>
Obiges Beispiel könnte z.B. innerhalb eines Zope Ordners aufgerufen
werden. Die Anweisung dtml-in ist eine Schleife. Sie iteriert über
alle Einträge des Ordners und gibt deren Titel aus.
def fooFunction(parameter=None, REQUEST=None):
print "fooFunction called with parameter: %s" % parameter
....
cd $ZOPE_HOME/lib/python
#Eine Datei finden:
find . | grep -i fooDatei
#Eine Funktion in allen Quellen suchen:
grep -rsi 'def myFunction' | less
def fooMethod(self):
ret=[]
ret.append(self.standard_html_header())
ret.append("<b>Das ist nur ein Beispiel</b>")
#Tabelle der Zahlen 0 bis 9 und deren Quadrat
rows=[]
for i in range(10):
rows.append('<tr><td>%s</td><td>%s</td></tr>' % (i, i*i))
rows=''.join(rows) # mache aus der Liste einen String
ret.append("""
Längeren Text kann man so eingeben ....
<table border="1">
<tr> <th>Zahl<th> <th>Quadrat<th> <tr>
%s
</table>
Uhrzeit: %s
""" % (rows, time.time())
)
ret.append(self.standard_html_footer())
return string.join(ret)
Der Einsatz von ZPT ist dann sinnvoll, wenn eine Seite mehr Layout
(HTML) als Logik (Python) enthält.
| Einsatzbereich | Umsetzung | |
|---|---|---|
| Gemeinsames Erstellen von dynamischen Webseiten: Wenn der Inhalt hauptsächlich aus statischen Seiten besteht, können leicht mehrere Leute gemeinsam an den Seiten arbeiten. | Verwenden von DTML bzw. ZPT. Editieren per Web-Browser oder FTP. | |
| Programmierung von individuellen Lösungen: Die Möglichkeit mittels http oder XML-RPC auf eine objektorientierte Datenbank zuzugreifen ist sehr flexibel. | Programmieren von Python Produkten. |
my_template = PageTemplateFile('www/my_template', globals(), __name__='my_template')
Die Datei "www/my_template.zpt" muss existieren.