Kann man Django-Templates mit Jinja2 ersetzen?

Sockets, TCP/IP, (XML-)RPC und ähnliche Themen gehören in dieses Forum
Antworten
TDO
User
Beiträge: 25
Registriert: Montag 10. Juli 2006, 19:49
Kontaktdaten:

Hi,

die Frage steht oben... ja ich weiss klar kann man es ersetzen aber mir geht es darum ob dann z.b. das Admin-UI nicht mehr geht oder ob es sonst irgendwo Sachen gibt die nicht mehr gehen... von der Syntax aehneln die sich ja schon sehr...
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Nein, ist kein Problem. Die Django-UI ebenso wie die Generic Views etc. nutzen dann weiterhin die Django-Templates.

Ich für meinen Teil habe mir einfach die Template-Shortcuts von Django nachimplementiert, so dass ``render_to_response()`` & Co. Jinja-Templates rendern. Ebenso die Generic Views, die bei mir auf Jinja portiert worden sind ohne negative Konsequenzen für das Admin-UI etc.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
fred.reichbier
User
Beiträge: 155
Registriert: Freitag 29. Dezember 2006, 18:27

Vielleicht ist djanjinja auch was für dich.
sma
User
Beiträge: 3018
Registriert: Montag 19. November 2007, 19:57
Wohnort: Kiel

http://dbanck.de/2009/01/13/using-jinja2-with-django/ ist der erste Link, der mir bei Google ins Auge gestochen ist.

Jinja auch für's Admin UI benutzen zu wollen, könnte allerdings einige Modifikationen erfordern. Dort wirst wohl meist `django.shortcuts.render_to_response()` benutzt, welches `django.template.loader.render_to_string()` benutzt. Das wiederum nutzt `django.template.loader.find_template_source()`, welches die `settings.TEMPLATE_LOADERS` durchsucht, die ein Template-Objekt liefern oder `TemplateDoesNotExist` werden sollten. Hier könnte man vielleicht mit einem passenden Loader ein Jinja-Template zurückliefern. Allerdings müsste dieses mit einem `django.template.context.Context` klarkommen und da hätte ich so meine Zweifel, dass das klappen könnte. Ich glaube daher nicht, dass es ein "drop in replacement" ist.

Stefan
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Die Django-Templates komplett zu ersetzen halte ich auch schon deswegen nicht für übermäßig sinnvoll, da eben der Admin das nutzt und Jinja nun auch nicht so sehr kompatibel ist. Darüber hinaus nutzt so ziemlich jede Django-App auch die Django-Templates und man wäre da nur noch am Code-portieren.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Antworten