Ich halte das nicht für eine schlechte Idee. Denn normalerweise ist include ehr für einmaliges einbinden da.
Mit einer "recurse" Funktion braucht man das Template nicht mehr aufzuteilen. Wäre auch wahrscheinlich schneller.
Im Netz gibt es auch Beispiele. Aber richtig Funktioniert haben die bei mir nicht. So bleib ich lieber bei der include Lösung.
recursive Daten in django Templates benutzten...
- Defnull
- User
- Beiträge: 778
- Registriert: Donnerstag 18. Juni 2009, 22:09
- Wohnort: Göttingen
- Kontaktdaten:
Die "recurse" Funktion ist redundant (also überflüssig), da man exakt das gleiche Verhalten mit "include template_name" erreichen kann. Warum "include" nur für einmaliges Einfügen da sein soll, kann ich nicht nach vollziehen. Besonders nicht im Template-Zusammenhang, wo es doch eher um Textbausteine und weniger um Bibliotheken geht.
Aber im Endeffekt ist und bleibt sowas Geschmackssache. Nicht umsonst gibt es eine so große Auswahl an Template Engines Ich find meine eigene eh am besten
Aber im Endeffekt ist und bleibt sowas Geschmackssache. Nicht umsonst gibt es eine so große Auswahl an Template Engines Ich find meine eigene eh am besten
Bottle: Micro Web Framework + Development Blog
- jens
- Python-Forum Veteran
- Beiträge: 8502
- Registriert: Dienstag 10. August 2004, 09:40
- Wohnort: duisburg
- Kontaktdaten:
Wie ich schon geschrieben hab, include arbeitet halt anders, man muß dazu zwei template dateien anlegen. Mit einer "recurse" Funktion kann man alles in einem Template machen, somit ist es schon was anderes.
Aber egal. Die Django Jungs mögen das wohl nicht oder brauchen es nicht.
Aber egal. Die Django Jungs mögen das wohl nicht oder brauchen es nicht.
- Defnull
- User
- Beiträge: 778
- Registriert: Donnerstag 18. Juni 2009, 22:09
- Wohnort: Göttingen
- Kontaktdaten:
Geht anscheinend auch mit einer Datei.
http://blog.elsdoerfer.name/2008/01/22/ ... templates/
http://blog.elsdoerfer.name/2008/01/22/ ... templates/
Bottle: Micro Web Framework + Development Blog
Wie hast du das denn da raus gelesen?! Er schreibt nur, dass man den Dateinamen der zweiten Daten als Variable übergeben kann, um die Evaluierung bis zur Laufzeit hinauszuzögern.
- Defnull
- User
- Beiträge: 778
- Registriert: Donnerstag 18. Juni 2009, 22:09
- Wohnort: Göttingen
- Kontaktdaten:
Nein, er beschreibt, wie man die Endlos-Schleife beim auflösen rekursiver includes umgehen kann.
Bottle: Micro Web Framework + Development Blog
Man umgeht die Endlosschleife dadurch, dass die Auswertung des zweiten Templates bis zur Laufzeit herausgezögert wird, so dass der Ausführungskontext zur Verfügung steht und man die Rekursion abbrechen kann.
Aber wie dem auch sei, ich kann da nirgendwo lesen, dass es "anscheinend auch mit einer Datei" gehen sollte ... das Beispiel benötigt auch zwei Templates für die Rekursion.
Aber wie dem auch sei, ich kann da nirgendwo lesen, dass es "anscheinend auch mit einer Datei" gehen sollte ... das Beispiel benötigt auch zwei Templates für die Rekursion.
- jens
- Python-Forum Veteran
- Beiträge: 8502
- Registriert: Dienstag 10. August 2004, 09:40
- Wohnort: duisburg
- Kontaktdaten:
Super das ihr das angesprochen habt!
Das war nämlich mein ursprüngliches Problem mit Exception RuntimeError: 'maximum recursion depth exceeded...
Das dumme ist, man sieht es nur bei settings.TEMPLATE_DEBUG == True ansonsten wird nur eine warnings ausgelöst!
Das war nämlich mein ursprüngliches Problem mit Exception RuntimeError: 'maximum recursion depth exceeded...
Das dumme ist, man sieht es nur bei settings.TEMPLATE_DEBUG == True ansonsten wird nur eine warnings ausgelöst!