Guten Abend,
ich habe mir jetzt ein paar mal das Turorial und die Doku
für die SimpleTemplate Engine von Bottle durchgelesen und
verstehe die leider nicht ganz.
In meinem reinen HTML Code muss ich {{ Wert }} als Platzhalter einbauen,
soweit habe ich das verstanden und ab jetzt gehts in die Grauzone
Das Template muss einmal codiert werden und befindet sich dann in den /views Ordner oder kann ich eine im Editor geschriebene html Datei (mit Platzhalter) einfach in den Ordner kopieren und die Endung .tpl dran setzen ?
Bottle SimpleTemplate Engine
- noisefloor
- User
- Beiträge: 3856
- Registriert: Mittwoch 17. Oktober 2007, 21:40
- Wohnort: WW
- Kontaktdaten:
Hallo,
Grundsätzlich kannst du HTML-Dateien auch als Template nehmen. Ob das aber sinnvoll ist, ist eine anderen Sache, weil du dann ggf. nicht die Möglichkeiten eines Templates nutzt. Minimal solltest du IMHO den Kopf und Fuss von HTML-Seiten (z.B. Doctype-Definition, Style-Infos etc.) - also Sachen, die auf jeder deiner Seiten vorkommen, in eigenen Templates auslagern und per Include einbinden.
Gruß, noisefloor
So ähnlich. Codieren / kompilieren etc. musst du - wie auch sonst bei Python - selber nichts. Die .tpl-Dateien werden beim 1. Aufruf durch Bottle bzw. der Applikation, die auf Bottle setzt, geparst. Es wird aber keine neue Datei mit Byte-Code oder ähnlichem angelegt.Das Template muss einmal codiert werden und befindet sich dann in den /views Ordner oder kann ich eine im Editor geschriebene html Datei (mit Platzhalter) einfach in den Ordner kopieren und die Endung .tpl dran setzen ?
Grundsätzlich kannst du HTML-Dateien auch als Template nehmen. Ob das aber sinnvoll ist, ist eine anderen Sache, weil du dann ggf. nicht die Möglichkeiten eines Templates nutzt. Minimal solltest du IMHO den Kopf und Fuss von HTML-Seiten (z.B. Doctype-Definition, Style-Infos etc.) - also Sachen, die auf jeder deiner Seiten vorkommen, in eigenen Templates auslagern und per Include einbinden.
Gruß, noisefloor
- mathman
- User
- Beiträge: 92
- Registriert: Mittwoch 19. November 2008, 08:27
- Wohnort: Magdeburg
- Kontaktdaten:
Danke für Antwort.
Ich verstehe dann irgendwie das Beispiel hier nicht
Irgendwo muss doch das Template namens hello_template existieren.
Wenn das nicht im Byte Code existiert, wo würde das denn dann stehen ?
Oder aber erzeugt man im Vorfeld mittels
Das Template ? Müsste man doch dann aber irgendwie speichern ?!
Ich verstehe dann irgendwie das Beispiel hier nicht
Code: Alles auswählen
@route('/hello')
@route('/hello/:name')
@view('hello_template')
def hello(name='World'):
return dict(name=name)
Wenn das nicht im Byte Code existiert, wo würde das denn dann stehen ?
Oder aber erzeugt man im Vorfeld mittels
Code: Alles auswählen
>>> from bottle import template
>>> template('Hello {{name}}!', name='World')
u'Hello World!'
@mathman: Welche Datei da geladen wird, wie die heissen muss, und wo sie gesucht wird, steht doch ziemlich deutlich im Tutorial. Da wo auch das Beispiel steht: http://bottle.paws.de/docs/dev/tutorial ... -templates
- mathman
- User
- Beiträge: 92
- Registriert: Mittwoch 19. November 2008, 08:27
- Wohnort: Magdeburg
- Kontaktdaten:
Dort heißt es dochBlackJack hat geschrieben:@mathman: Welche Datei da geladen wird, wie die heissen muss, und wo sie gesucht wird, steht doch ziemlich deutlich im Tutorial. Da wo auch das Beispiel steht: http://bottle.paws.de/docs/dev/tutorial ... -templates
Das heißt doch, dass Bootle in den views Ordner (den man im Vorfeld sicherlich erstellen muss) nach dem Template sucht und das Template muss da als File gespeichert sein ?!This will load the template file hello_template.tpl and render it with the name variable set. Bottle will look for templates in the ./views/ folder or any folder specified in the bottle.TEMPLATE_PATH list.
- noisefloor
- User
- Beiträge: 3856
- Registriert: Mittwoch 17. Oktober 2007, 21:40
- Wohnort: WW
- Kontaktdaten:
Hallo,
Wenn dir das Beispiel mit dem `@view(...)` und `return dict(...)` zu implizit ist, dann nutz' doch einfach die explizite Variante:
mit dem Template, dass im './views' Ordner liegt:
Gruß, noisefloor
So isses.Das heißt doch, dass Bottle in den views Ordner (den man im Vorfeld sicherlich erstellen muss) nach dem Template sucht und das Template muss da als File gespeichert sein ?!
Wenn dir das Beispiel mit dem `@view(...)` und `return dict(...)` zu implizit ist, dann nutz' doch einfach die explizite Variante:
Code: Alles auswählen
from bottle import route, template, run
@route('/template_test')
def test(name='foo')
return template('mein_template.tpl', name=name)
Code: Alles auswählen
<p>Hallo <strong>{{name}}</strong></p>