Jinja2 Documentation

# Jinja

Jinja2 Documentation | Introduction »

# Jinja2 Documentation

This is the documentation for the Jinja2 general purpose templating language. Jinja2 is a library for Python 2.4 and onwards that is designed to be flexible, fast and secure.

- Introduction
  - Prerequisites
  - Installation
  - Basic API Usage

- API
  - Basics
  - Unicode
  - High Level API
  - Notes on Identifiers
  - Undefined Types
  - The Context
  - Loaders
  - Utilities
  - Exceptions
  - Custom Filters
  - Custom Tests
  - The Global Namespace
  - Low Level API

- Sandbox

- Template Designer Documentation
  - Synopsis
  - Variables
  - Filters
  - Tests
  - Comments
  - Whitespace Control
  - Escaping
  - Line Statements
  - Template Inheritance
  - HTML Escaping
  - List of Control Structures
  - Import Context Behavior
  - Expressions
  - List of Builtin Filters
  - List of Builtin Tests
  - List of Global Functions
  - Extensions

- Extensions
  - Adding Extensions
  - i18n Extension
  - Expression Statement
  - Loop Controls
  - Writing Extensions

- Integration
  - Babel Integration
  - Pylons
  - TextMate
  - Vim

- Switching from other Template Engines
  - Jinja1
  - Django
  - Mako

- Tips and Tricks
  - Null-Master Fallback
  - Alternating Rows
  - Highlighting Active Menu Items
  - Accessing the parent Loop

- Frequently Asked Questions
  - Why is it called Jinja?
  - How fast is it?
  - How Compatible is Jinja2 with Django?
  - Isn’t it a terrible idea to put Logic into Templates?
  - Why is Autoescaping not the Default?
  - Why is the Context immutable?
  - I don’t have the _speedups Module. Is Jinja slower now?
  - My tracebacks look weird. What’s happening?
  - Why is there no Python 2.3 support?

- Changelog
  - Version 2.0

If you can’t find the information you’re looking for, have a look at the index of try to find it using the search function:

- Index
- Search Page