Kajiki, the fast and validated template engine your were looking for

June 30, 2018, 10:30 a.m. - 11:00 a.m.

Kajiki is the new template engine born within TurboGears framework as a replacement for Genshi. Kajiki combines speed with template validation: you won’t discover broken HTML at render time, but the engine will report errors to you; also its syntax allows designers to edit the template in WYSIWYG tools.

This talk aims at introducing the audience to the various kind of template engines existing in the Python ecosystem, then a little bit of history about why Kajiki was created and its role within the TurboGears framework. Once you have a good understanding of the context where Kajiki was born and of its needs it will deep dive into the template engine itself, explaining how it works and how it’s implemented.

The talk will provide an overview of the templating syntax and cover all the engine features like:

  • Automatic escaping of user inputs to protect from XSS
  • HTML validation and error detection
  • Automatic i18n
  • debuggers integration
  • minification
Last it will dive into how the template engine intermediate language works and how we could use Cython to make our templates lightning fast as in the end Kajiki generates Python which we can compile with Cython itself.

Alessandro Molina

Python developer since 2001, has always been interested in Python as a Web Development Platform. Currently a core developer of the TurboGears2 web framework and maintainer of Beaker Caching/Session framework. Author of the DEPOT file storage framework and of the DukPy Javascript interpreter for Python, has collaborated with various python projects related to web development like FormEncode, ToscaWidgets, the Kajiki template engine and the Ming MongoDB ORM.

Get PyConWeb event announcements

No spam, 2-3 emails per year