Layouts mit Jinja

Django, Flask, Bottle, WSGI, CGI…
Antworten
burli
User
Beiträge: 1156
Registriert: Dienstag 9. März 2004, 18:22

Gute Morgen Forum,
für meine Webseite nutze ich Jinja2 als Template Engine. So langsam komme ich an einen Punkt, wo mir die Aufteilung von Parent und Child Layout nicht mehr ausreicht. Nur ist mir nicht ganz klar, wie man bei Jinja da jetzt vorgeht.

Das Parent Template wird ja mit "extends" in das Child Template eingebunden. Aber wie geht man vor, wenn man zum Beispiel ein Navigationsmenus hat? Oder irgendwelche Listen? Geht das auch mit extends? Import? Include? Macros? Die Vielfalt der Möglichkeiten erschlagen mich gerade etwas und mir fehlen ein paar Beispiele, was man wann, wo und wofür einsetzt.

Könnt ihr mir kurz erklären, was man wofür einsetzt oder gibt es ein paar Beispiele, aus denen man das ableiten kann?
Das schwierigste beim Programmieren ist, sinnvolle Variablen- und Funktionsnamen zu finden :lol:
.robert
User
Beiträge: 274
Registriert: Mittwoch 25. April 2007, 17:59

Hi,

ich finde deine Frage ist jetzt so allgemein gehalten, dass man dir nicht viel mehr sagen kann als: guck in die Dokumentation!

Hast du ein konkretes Problem, oder willst du nur mal so bei na Tasse Tee darüber reden? :D
burli
User
Beiträge: 1156
Registriert: Dienstag 9. März 2004, 18:22

Die Doku hab ich schon gelesen. Die hilft mir im Moment nicht weiter. Konkret geht es, wie erwähnt, zum Beispiel um diverse Navigationsmenus im Header oder auf der linken Seite, um sowas wie eine Tag Cloud oder eine tabellarische Auflistung von Einträgen untereinander (wie hier im Forum bei der Suche).

Ich würde das zwar alles (irgendwie) hinbekommen, aber, wie so oft, würde ich mangels Kenntnis den falschen Weg gehen. Und da ich etwas unter Zeitdruck stehe möchte ich mir Try and Error ersparen. Deshalb suche ich zumindest mal verschiedene Beispielen, anhand derer man sehen kann, wie man sowas idealerweise löst.
Das schwierigste beim Programmieren ist, sinnvolle Variablen- und Funktionsnamen zu finden :lol:
sma
User
Beiträge: 3018
Registriert: Montag 19. November 2007, 19:57
Wohnort: Kiel

Für eine Sidebar würde ich `include` benutzen.

Stefan
lunar

@burli: Es gibt genügend Quellen, an denen man sich die Struktur der Vorlagen absehen oder gar Teile einfach übernehmen kann (e.g. die Vorlagen von Sphinx). Ist ja alles kein Geheimnis ...

Ich glaube, Du machst Dir oft viel zu viele Gedanken. Es ist bestimmt nicht schlimm, zu recherchieren und zu fragen, und nach einer guten, oder gar idealen Lösung zu streben, doch irgendwann – gerade unter Zeitdruck – muss man auch einfach mal eine Lösung implementieren und auch vertreten können, anstatt lange nach einer idealen Lösung zu suchen, die im Allgemeinen sowieso selten existiert.
burli
User
Beiträge: 1156
Registriert: Dienstag 9. März 2004, 18:22

lunar hat geschrieben:@burli: Es gibt genügend Quellen, an denen man sich die Struktur der Vorlagen absehen oder gar Teile einfach übernehmen kann (e.g. die Vorlagen von Sphinx). Ist ja alles kein Geheimnis ...
Solche Beispiele suche ich ja. Wobei etwas einfachere Beispiele hilfreicher wären. Ich stecke (noch) nicht tief genug drin, um zu wissen, wo zum Beispiel Jinja überall verwendet wird, um da einfach nachschauen zu können.
lunar hat geschrieben:Ich glaube, Du machst Dir oft viel zu viele Gedanken. Es ist bestimmt nicht schlimm, zu recherchieren und zu fragen, und nach einer guten, oder gar idealen Lösung zu streben, doch irgendwann – gerade unter Zeitdruck – muss man auch einfach mal eine Lösung implementieren und auch vertreten können, anstatt lange nach einer idealen Lösung zu suchen, die im Allgemeinen sowieso selten existiert.
Ich suche nicht zwingend nach DER idealen Lösung. Ich suche nur nach einer vernünftigen. Ich habe es oft genug erlebt, dass meine eigenen Wege irgendwann in einer Sackgasse enden und ich den Code dann drei mal anfassen muss, damit ich weiter komme. Mir persönlich helfen immer einfache, aber ausführliche Beispiele, um die Grundlagen zu erkennen. Wenn ich das einmal habe komme ich auch an anderen Stellen weiter. Deshalb ist das Herauskristallisieren der nötigen Informationen aus einem komplexen und fertigen Projekt auch nur zweite Wahl
Das schwierigste beim Programmieren ist, sinnvolle Variablen- und Funktionsnamen zu finden :lol:
DasIch
User
Beiträge: 2718
Registriert: Montag 19. Mai 2008, 04:21
Wohnort: Berlin

Schau dir doch einfach mal Template Vererbung an, dort findet sich sogar ein Beispiel für eine Sidebar.
burli
User
Beiträge: 1156
Registriert: Dienstag 9. März 2004, 18:22

Ok, alles klar. Das mit dem Include klappt jetzt. Danke für den Hinweis.
Das schwierigste beim Programmieren ist, sinnvolle Variablen- und Funktionsnamen zu finden :lol:
Antworten