Hm, irgend wie gefallen mir diese Makros einfach nicht wirklich. Da ich sie aber in diesem Zusammenhang nie verwendet habe mags auch nur am Namen liegen
Django kennt ja noch "Inclusion Tags" siehe http://www.djangoproject.com/documentat ... es_python/. Etwas umständlicher als ich es gerne hätte aber vermutlich besser weil expliziter..
Jinja 1
- jens
- Python-Forum Veteran
- Beiträge: 8502
- Registriert: Dienstag 10. August 2004, 09:40
- Wohnort: duisburg
- Kontaktdaten:
Hm. lässt sich das nicht über die normale block-includes lösen?blackbird hat geschrieben:Ich werfe nur mal eben Macros ein die genau eine solche Situation vermeiden sollten:
productlist.html:product_helper.html:Code: Alles auswählen
{% include 'product_helper.html' %} <h1>Neustes Produkt</h1> {{ show_product(newestproduct) }} <h1>Alle Produkte</h1> {% for product in products %} {{ show_product(product) }} {% endfor %}
Code: Alles auswählen
{% macro show_product product %} <strong>{{ product.name }}</strong> - {{ product.price }} {% endmacro %}
-
- User
- Beiträge: 1790
- Registriert: Donnerstag 28. Oktober 2004, 16:33
- Wohnort: Graz, Steiermark - Österreich
- Kontaktdaten:
So. Jinja 1 ist jetzt glaub ich in Feature Freeze. Jetzt werden nur noch Fehler gesucht und behoben. So schaut jetzt die Syntax und Designerdokumentation aus: http://pocoo.org/~mitsuhiko/jinjadocs/designerdoc.html
Wer Fehler findet oder noch Verbesserungen hat, her damit
Wer Fehler findet oder noch Verbesserungen hat, her damit
TUFKAB – the user formerly known as blackbird
- jens
- Python-Forum Veteran
- Beiträge: 8502
- Registriert: Dienstag 10. August 2004, 09:40
- Wohnort: duisburg
- Kontaktdaten:
Mit fällt zuerst das |e im ersten Beispiel auf. Weiter unten erklärt es sich dann, das |e ein Alias für |escape ist... Ich würde allerdings in dem ersten Beispiel lieber escape ausschreiben.
Schön wäre es, wenn die Überschriften Anker sind.
IMHO würde ich "Macro" umbenennen. Wie hier im Thread schon mal erwähnt wurde, hat das Wort alleine schon ein negativen Beigeschmack.
Wie wäre es mit subroutine oder einfach nur "def" ?
Der Unterschied zwischen include und extends ist mir nicht so ganz klar. Kann man das nicht vereinheitlichen?
Beim Abschnitt "Scopes", sagt mit foil ehr weniger was. IMHO passt Layer da besser.
Ansonsten, schöne Seite!
Was ist eigentlich mit dem JavaScript Zeug???
Schön wäre es, wenn die Überschriften Anker sind.
IMHO würde ich "Macro" umbenennen. Wie hier im Thread schon mal erwähnt wurde, hat das Wort alleine schon ein negativen Beigeschmack.
Wie wäre es mit subroutine oder einfach nur "def" ?
Der Unterschied zwischen include und extends ist mir nicht so ganz klar. Kann man das nicht vereinheitlichen?
Beim Abschnitt "Scopes", sagt mit foil ehr weniger was. IMHO passt Layer da besser.
Ansonsten, schöne Seite!
Was ist eigentlich mit dem JavaScript Zeug???
-
- User
- Beiträge: 1790
- Registriert: Donnerstag 28. Oktober 2004, 16:33
- Wohnort: Graz, Steiermark - Österreich
- Kontaktdaten:
Gute idee, werd ich machen,jens hat geschrieben:Mit fällt zuerst das |e im ersten Beispiel auf. Weiter unten erklärt es sich dann, das |e ein Alias für |escape ist... Ich würde allerdings in dem ersten Beispiel lieber escape ausschreiben.
Sind sie ja.Schön wäre es, wenn die Überschriften Anker sind.
1.) enddef schaut seltsam aus, 2.) def ist ein Blöder name für solche aufrufbaren Blöcke, mir ist nichtmal klar für was es bei Python/Ruby steht. Und was ist so negativ am Wort macro?IMHO würde ich "Macro" umbenennen. Wie hier im Thread schon mal erwähnt wurde, hat das Wort alleine schon ein negativen Beigeschmack.
Wie wäre es mit subroutine oder einfach nur "def" ?
Nein. extends aktiviert die Inheritance. Include binded ein anderes Template file an einer Stelle ein als wäre es hier geschrieben worden.Der Unterschied zwischen include und extends ist mir nicht so ganz klar. Kann man das nicht vereinheitlichen?
mit "stack of foils" hab ich versucht bei einem Beispiel aus dem realen Leben zu bleibenBeim Abschnitt "Scopes", sagt mit foil ehr weniger was. IMHO passt Layer da besser.
Weil ein Teil der Semantik im Translator steckt fang ich den JS Translator erst an, wenn sich am Python Translator nichts mehr ändert.Was ist eigentlich mit dem JavaScript Zeug???
TUFKAB – the user formerly known as blackbird
-
- User
- Beiträge: 1790
- Registriert: Donnerstag 28. Oktober 2004, 16:33
- Wohnort: Graz, Steiermark - Österreich
- Kontaktdaten:
Wirds wohl auch sein. Allerdings definiert man eben nicht nur Funktionen. Von daher finde ich es ein nettes Keyword für Python, aber sicher nicht für eine Template Engine.lumax hat geschrieben:Blind geraten: define?blackbird hat geschrieben:def ist ein Blöder name für solche aufrufbaren Blöcke, mir ist nichtmal klar für was es bei Python/Ruby steht.
TUFKAB – the user formerly known as blackbird
-
- User
- Beiträge: 1790
- Registriert: Donnerstag 28. Oktober 2004, 16:33
- Wohnort: Graz, Steiermark - Österreich
- Kontaktdaten:
So. Unabhängig von dieser Diskussion schreitet Jinja voran Letzte wichtige Neuerung: Debugging Support. Unabhängig vom Framework
TUFKAB – the user formerly known as blackbird
- jens
- Python-Forum Veteran
- Beiträge: 8502
- Registriert: Dienstag 10. August 2004, 09:40
- Wohnort: duisburg
- Kontaktdaten:
Das ist ja super! Die django Jungs sollten wirklich mal überlegen auf jinja zu setztenblackbird hat geschrieben:Debugging Support
Der passende Blog Eintrag: http://pocoo.org/blog/jinja-progress/
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Ich zweifle nicht an, dass Jinja sicher toll ist, aber die Django-Leute wissen, warum sie ihr System einsetzen und eben so weit wie möglich von anderen Systemen unabhängig bleiben wollen. Und ja, die Tracebacks in den Django-Templates dürften besser sein - die auszubessern ist aber einfacher als auf ein ganzes neues Templete-System zu setzen.jens hat geschrieben:Das ist ja super! Die django Jungs sollten wirklich mal überlegen auf jinja zu setzten
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
-
- User
- Beiträge: 1790
- Registriert: Donnerstag 28. Oktober 2004, 16:33
- Wohnort: Graz, Steiermark - Österreich
- Kontaktdaten:
Für django ist die django Template Engine denke ich ideal. Jinja ist ganz anders aufgebaut und die Templates sind nicht ganz kompatibel. Ein Wechsel für die Entwickler wäre eine schlechte Idee.jens hat geschrieben:Das ist ja super! Die django Jungs sollten wirklich mal überlegen auf jinja zu setzten
TUFKAB – the user formerly known as blackbird
Schon weil dann die Kompatibilität extrem schrumpfen würde... denn in Jinja 1 ist ja nun einiges anders, als in Django, wenn ich das richtig bemerkt habe oder?
Und ohne eine Hundertprozentige (oder nahezu) Rückwertskompatibilität denke ich, werden die solche Änderungen nicht einfügen... dafür ist Django seit zu langer Zeit recht stabil und wird zu gut und oft genutzt, als das sie durch eine solche Änderung etliche Leute verärgern könnten (vor allem, da empfohlen wird, die jeweils letzte SVN Version zu nutzen )
MfG EnTeQuAk
Und ohne eine Hundertprozentige (oder nahezu) Rückwertskompatibilität denke ich, werden die solche Änderungen nicht einfügen... dafür ist Django seit zu langer Zeit recht stabil und wird zu gut und oft genutzt, als das sie durch eine solche Änderung etliche Leute verärgern könnten (vor allem, da empfohlen wird, die jeweils letzte SVN Version zu nutzen )
MfG EnTeQuAk
*meld*
sind wir schon zwei... und sicherlich noch einige mehr hier im Forum.
Aber das steht hier nun wirklich nicht zur debatte
Back To Jinja
Gibet schon nen Plan, wann Jinja 1 "offiziell" rauskommen wird?
Und wie schauts mit der Umstellung von 'pocoo' aus? -- -- wirds gleich dannach umgestellt oder erst nach dem 0.2dev Release?
MfG EnTeQuAk
sind wir schon zwei... und sicherlich noch einige mehr hier im Forum.
Aber das steht hier nun wirklich nicht zur debatte
Back To Jinja
Gibet schon nen Plan, wann Jinja 1 "offiziell" rauskommen wird?
Und wie schauts mit der Umstellung von 'pocoo' aus? -- -- wirds gleich dannach umgestellt oder erst nach dem 0.2dev Release?
MfG EnTeQuAk
Mach mindestens drei daraus. Und diesen Geschwindigkeitswahn bei Templatesystemen kann ich auch nicht so recht verstehen. Kann mir nur schwer Vorstellen, dass die Zeit im Vergleich zur Datenübetragung und Datenbankabfrage so stark ins Gewicht fällt.
Mit Templatesystemen ist es ja noch schlimmer als mit Webframeworks. Jeder will anscheinend sein eigenes haben.
Mit Templatesystemen ist es ja noch schlimmer als mit Webframeworks. Jeder will anscheinend sein eigenes haben.
-
- User
- Beiträge: 1790
- Registriert: Donnerstag 28. Oktober 2004, 16:33
- Wohnort: Graz, Steiermark - Österreich
- Kontaktdaten:
Also wenn pocoo 0.2 Sekunden im Template verscheißt ist das verdammt schlecht. Ohne Grund wurde Jinja nicht neu geschriebenBlackJack hat geschrieben:Mach mindestens drei daraus. Und diesen Geschwindigkeitswahn bei Templatesystemen kann ich auch nicht so recht verstehen. Kann mir nur schwer Vorstellen, dass die Zeit im Vergleich zur Datenübetragung und Datenbankabfrage so stark ins Gewicht fällt.
Weder das eine noch das andere stört mich. Hab ich schonmal WSGI erwähnt?Mit Templatesystemen ist es ja noch schlimmer als mit Webframeworks. Jeder will anscheinend sein eigenes haben.
TUFKAB – the user formerly known as blackbird