Frage

Ich habe ein paar kleine (500 oder 600 Zeilen von Template-Code) Django Websites bekam, und ich möchte sie mit Jinja2 wandern ... Aber ich möchte eine Vorstellung davon bekommen, wie viel Arbeit es sein wird, . Also, in der Regel darüber, wie viel Arbeit es ist eine kleine Django Website Jinja2 zu migrieren? Und ist es „wert“?

War es hilfreich?

Lösung

Während es ist nur meine eigene Erfahrung, fand ich von Django zu Jinja2 Umwandlung aus den folgenden Gründen sinnvoll zu sein:

  1. Das Design und die Implementierung von Jinja2 schienen intuitiver zu mir, sowohl als Software-Entwickler und Template-Designer;
  2. Jinja2 ist erweiterbar (zumindest in den Möglichkeiten, die ich gesucht habe meine Template-Engine zu verlängern);
  3. Jinja2 ist flexibler in Bezug auf die Genehmigungslogik-Code ausgeführt werden (aber es gibt Ihnen genug Seil, um sich mit hängen);
  4. Jinja2 gilt als wesentlich schneller (obwohl ich keine Benchmarks getan habe, ist dies immer unter Debatte in Abhängigkeit von den Tests verwendet, und auf jedem Fall weitgehend irrelevant in der Gesamtwartezeit für eine Abfrage, die DB zu tun hat Lookups);
  5. Jinja2 gibt deutlich hilfreichen Fehlerausgang als Django (dh Spuren auf die Zeilennummer in der Vorlage, wo der Fehler aufgetreten ist) Bearbeiten . Nach Dor Kommentar, Django gibt hilfreiche Fehlermeldungen dieser Punkt auf der Linie und den Kontext eines Problems, ähnlich wie Jinja2.

Wenn Sie keine Probleme mit Djangos Template-Engine haben, sollen Jinja2 sind relativ intuitiv fühlen, wenn auch vielleicht ein bisschen mehr poliert (oder tat es mir jedenfalls). Wie gut, fand ich das Coffin Projekt gut geschrieben und recht hilfreich, wenn sie von Django Jinja2 Umwandlung - sowohl für seine Verwendung und als Beispiel dafür, wie Jinja2 zu verlängern.

Alles, was being said, Djangos Template-Engine ist solide und durchaus in der Lage für die meisten Aufgaben. Ich glaube, dass es in der nächsten Revision von Django verbessert, und es gibt eine sehr viel Mühe, um ihre Funktionen durch eine ganze Reihe von engagierten Entwicklern hinzuzufügen. Als Ergebnis gibt es keine Sorgen davon in der Nähe der mittelfristigen Zukunft nicht unterstützt werden.

Auch das ist nur meine Erfahrung, für das, was es wert ist. - Ich hoffe, das ist hilfreich

Andere Tipps

Es gibt auch django-jinja. https://github.com/niwibe/django-jinja

Neu und schönes Projekt. http://niwibe.github.io/django-jinja/

Sie behauptet, eine einfache und nonobstructive jinja2 Integration mit Django zu sein.

Von dem, was Sie gesagt haben, kann es nicht wert sein, das Problem zu Jinja2 zu migrieren. Es gibt Filter in Django-Vorlagen, die Sie mathematische Operationen tun helfen könnte.

In Bezug auf Listenoperationen, was genau meinst du? Wenn Sie einige besondere Listenoperation wollen in Vorlage unterstützt werden, als Schreib eine benutzerdefinierte Filter .

Es gibt auch einige bestehende 3rd party math Filter für Django .

Wenn man darüber nachdenkt, ist es durch Design, dass Django Vorlagen nicht haben viel von „Programmierkonstrukten“ in ihnen. HTML-Templates sollte so sein, ...

Zwei Projekte, die Jinja in Django mit einfachen Integrationsschritten zu integrieren versuchen und schön mit Django Haken -

  1. Coffin
  2. Chouwa

Ich bin zu integrieren, sie sofort zu experimentieren, wenn sie auch mit Django contrib Anwendungen wie Django Admin arbeiten. Aber ich fühle, wird es für das Projekt Apps und Django Standard-Template-System verfügbar sein wird in internen Anwendungen wie Admin verwendet werden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top